1//
2// include/gen/amc_gen.h
3// Generated by AMC
4//
5// Copyright (C) 2008-2013 AlgoEngineering LLC
6// Copyright (C) 2013-2019 NYSE | Intercontinental Exchange
7// Copyright (C) 2020-2023 Astra
8// Copyright (C) 2023 AlgoRND
9//
10// This program is free software: you can redistribute it and/or modify
11// it under the terms of the GNU General Public License as published by
12// the Free Software Foundation, either version 3 of the License, or
13// (at your option) any later version.
14//
15// This program is distributed in the hope that it will be useful,
16// but WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18// GNU General Public License for more details.
19//
20// You should have received a copy of the GNU General Public License
21// along with this program. If not, see <https://www.gnu.org/licenses/>.
22//
23
24
25#pragma once
26#include "include/gen/algo_gen.h"
27#include "include/gen/dmmeta_gen.h"
28#include "include/gen/amcdb_gen.h"
29#include "include/gen/command_gen.h"
30#include "include/gen/report_gen.h"
31#include "include/gen/algo_lib_gen.h"
32#include "include/gen/dev_gen.h"
33//#pragma endinclude
34// gen:ns_enums
35
36// --- amc_BltinIdEnum
37
38enum amc_BltinIdEnum { // amc.BltinId.value
39 amc_BltinId_bool = 0 // dflt is a c++ expr: real dflt is 'N'
40 ,amc_BltinId_char = 1 // char
41 ,amc_BltinId_double = 2 // double
42 ,amc_BltinId_float = 3 // float
43 ,amc_BltinId_i16 = 4 // 16-bit signed integer
44 ,amc_BltinId_i32 = 5 // 32-bit signed integer
45 ,amc_BltinId_i64 = 6 // 64-bit signed integer
46 ,amc_BltinId_i8 = 7 // 8-bit signed integer
47 ,amc_BltinId_pad_byte = 8
48 ,amc_BltinId_u128 = 9 // 128-bit unsigned integer
49 ,amc_BltinId_u16 = 10 // 16-bit unsigned integer
50 ,amc_BltinId_u32 = 11 // 32-bit unsigned integer
51 ,amc_BltinId_u64 = 12 // 64-bit unsigned integer
52 ,amc_BltinId_u8 = 13 // 8-bit unsigned integer
53};
54
55enum { amc_BltinIdEnum_N = 14 };
56
57
58// --- amc_CppkeywordIdEnum
59
60enum amc_CppkeywordIdEnum { // amc.CppkeywordId.id
61 amc_CppkeywordId_alignas = 0
62 ,amc_CppkeywordId_alignof = 1
63 ,amc_CppkeywordId_and = 2
64 ,amc_CppkeywordId_and_eq = 3
65 ,amc_CppkeywordId_asm = 4
66 ,amc_CppkeywordId_auto = 5
67 ,amc_CppkeywordId_bitand = 6
68 ,amc_CppkeywordId_bitor = 7
69 ,amc_CppkeywordId_bool = 8
70 ,amc_CppkeywordId_break = 9
71 ,amc_CppkeywordId_case = 10
72 ,amc_CppkeywordId_catch = 11
73 ,amc_CppkeywordId_char = 12
74 ,amc_CppkeywordId_char16_t = 13
75 ,amc_CppkeywordId_char32_t = 14
76 ,amc_CppkeywordId_class = 15
77 ,amc_CppkeywordId_compl = 16
78 ,amc_CppkeywordId_const = 17
79 ,amc_CppkeywordId_constexpr = 18
80 ,amc_CppkeywordId_const_cast = 19
81 ,amc_CppkeywordId_continue = 20
82 ,amc_CppkeywordId_decltype = 21
83 ,amc_CppkeywordId_default = 22
84 ,amc_CppkeywordId_delete = 23
85 ,amc_CppkeywordId_do = 24
86 ,amc_CppkeywordId_double = 25
87 ,amc_CppkeywordId_dynamic_cast = 26
88 ,amc_CppkeywordId_else = 27
89 ,amc_CppkeywordId_enum = 28
90 ,amc_CppkeywordId_explicit = 29
91 ,amc_CppkeywordId_export = 30
92 ,amc_CppkeywordId_extern = 31
93 ,amc_CppkeywordId_false = 32
94 ,amc_CppkeywordId_float = 33
95 ,amc_CppkeywordId_for = 34
96 ,amc_CppkeywordId_friend = 35
97 ,amc_CppkeywordId_goto = 36
98 ,amc_CppkeywordId_if = 37
99 ,amc_CppkeywordId_inline = 38
100 ,amc_CppkeywordId_int = 39
101 ,amc_CppkeywordId_long = 40
102 ,amc_CppkeywordId_mutable = 41
103 ,amc_CppkeywordId_namespace = 42
104 ,amc_CppkeywordId_new = 43
105 ,amc_CppkeywordId_noexcept = 44
106 ,amc_CppkeywordId_not = 45
107 ,amc_CppkeywordId_not_eq = 46
108 ,amc_CppkeywordId_nullptr = 47
109 ,amc_CppkeywordId_operator = 48
110 ,amc_CppkeywordId_or = 49
111 ,amc_CppkeywordId_or_eq = 50
112 ,amc_CppkeywordId_private = 51
113 ,amc_CppkeywordId_protected = 52
114 ,amc_CppkeywordId_public = 53
115 ,amc_CppkeywordId_register = 54
116 ,amc_CppkeywordId_reinterpret_cast = 55
117 ,amc_CppkeywordId_return = 56
118 ,amc_CppkeywordId_short = 57
119 ,amc_CppkeywordId_signed = 58
120 ,amc_CppkeywordId_sizeof = 59
121 ,amc_CppkeywordId_static = 60
122 ,amc_CppkeywordId_static_assert = 61
123 ,amc_CppkeywordId_static_cast = 62
124 ,amc_CppkeywordId_struct = 63
125 ,amc_CppkeywordId_switch = 64
126 ,amc_CppkeywordId_template = 65
127 ,amc_CppkeywordId_this = 66
128 ,amc_CppkeywordId_thread_local = 67
129 ,amc_CppkeywordId_throw = 68
130 ,amc_CppkeywordId_true = 69
131 ,amc_CppkeywordId_try = 70
132 ,amc_CppkeywordId_typedef = 71
133 ,amc_CppkeywordId_typeid = 72
134 ,amc_CppkeywordId_typename = 73
135 ,amc_CppkeywordId_union = 74
136 ,amc_CppkeywordId_unsigned = 75
137 ,amc_CppkeywordId_using = 76
138 ,amc_CppkeywordId_virtual = 77
139 ,amc_CppkeywordId_void = 78
140 ,amc_CppkeywordId_volatile = 79
141 ,amc_CppkeywordId_wchar_t = 80
142 ,amc_CppkeywordId_while = 81
143 ,amc_CppkeywordId_xor = 82
144 ,amc_CppkeywordId_xor_eq = 83
145};
146
147enum { amc_CppkeywordIdEnum_N = 84 };
148
149
150// --- amc_FieldIdEnum
151
152enum amc_FieldIdEnum { // amc.FieldId.value
153 amc_FieldId_value = 0
154 ,amc_FieldId_len = 1
155 ,amc_FieldId_str = 2
156};
157
158enum { amc_FieldIdEnum_N = 3 };
159
160
161// --- amc_PnewtypeEnum
162
163enum amc_PnewtypeEnum { // amc.Pnewtype.value
164 amc_Pnewtype_Memptr = 0 // Some region in memory
165 ,amc_Pnewtype_AmsStream = 1 // Ams stream
166 ,amc_Pnewtype_Fixed = 2 // Fixed buffer
167 ,amc_Pnewtype_Dynamic = 3 // Dynamic buffer
168 ,amc_Pnewtype_ByteAry = 4 // ByteAry
169 ,amc_Pnewtype_Append = 5 // Append
170};
171
172enum { amc_PnewtypeEnum_N = 6 };
173
174
175// --- amc_TableIdEnum
176
177enum amc_TableIdEnum { // amc.TableId.value
178 amc_TableId_dmmeta_Anonfld = 0 // dmmeta.Anonfld -> amc.FAnonfld
179 ,amc_TableId_dmmeta_anonfld = 0 // dmmeta.anonfld -> amc.FAnonfld
180 ,amc_TableId_dmmeta_Argvtype = 1 // dmmeta.Argvtype -> amc.FArgvtype
181 ,amc_TableId_dmmeta_argvtype = 1 // dmmeta.argvtype -> amc.FArgvtype
182 ,amc_TableId_dmmeta_Basepool = 2 // dmmeta.Basepool -> amc.FBasepool
183 ,amc_TableId_dmmeta_basepool = 2 // dmmeta.basepool -> amc.FBasepool
184 ,amc_TableId_dmmeta_Bitfld = 3 // dmmeta.Bitfld -> amc.FBitfld
185 ,amc_TableId_dmmeta_bitfld = 3 // dmmeta.bitfld -> amc.FBitfld
186 ,amc_TableId_amcdb_Bltin = 4 // amcdb.Bltin -> amc.FBltin
187 ,amc_TableId_amcdb_bltin = 4 // amcdb.bltin -> amc.FBltin
188 ,amc_TableId_dmmeta_Cafter = 5 // dmmeta.Cafter -> amc.FCafter
189 ,amc_TableId_dmmeta_cafter = 5 // dmmeta.cafter -> amc.FCafter
190 ,amc_TableId_dmmeta_Cascdel = 6 // dmmeta.Cascdel -> amc.FCascdel
191 ,amc_TableId_dmmeta_cascdel = 6 // dmmeta.cascdel -> amc.FCascdel
192 ,amc_TableId_dmmeta_Ccmp = 7 // dmmeta.Ccmp -> amc.FCcmp
193 ,amc_TableId_dmmeta_ccmp = 7 // dmmeta.ccmp -> amc.FCcmp
194 ,amc_TableId_dmmeta_Cdflt = 8 // dmmeta.Cdflt -> amc.FCdflt
195 ,amc_TableId_dmmeta_cdflt = 8 // dmmeta.cdflt -> amc.FCdflt
196 ,amc_TableId_dmmeta_Cextern = 9 // dmmeta.Cextern -> amc.FCextern
197 ,amc_TableId_dmmeta_cextern = 9 // dmmeta.cextern -> amc.FCextern
198 ,amc_TableId_dmmeta_Cfast = 10 // dmmeta.Cfast -> amc.FCfast
199 ,amc_TableId_dmmeta_cfast = 10 // dmmeta.cfast -> amc.FCfast
200 ,amc_TableId_dmmeta_Cfmt = 11 // dmmeta.Cfmt -> amc.FCfmt
201 ,amc_TableId_dmmeta_cfmt = 11 // dmmeta.cfmt -> amc.FCfmt
202 ,amc_TableId_dmmeta_Cget = 12 // dmmeta.Cget -> amc.FCget
203 ,amc_TableId_dmmeta_cget = 12 // dmmeta.cget -> amc.FCget
204 ,amc_TableId_dmmeta_Charset = 13 // dmmeta.Charset -> amc.FCharset
205 ,amc_TableId_dmmeta_charset = 13 // dmmeta.charset -> amc.FCharset
206 ,amc_TableId_dmmeta_Chash = 14 // dmmeta.Chash -> amc.FChash
207 ,amc_TableId_dmmeta_chash = 14 // dmmeta.chash -> amc.FChash
208 ,amc_TableId_dmmeta_Cppfunc = 15 // dmmeta.Cppfunc -> amc.FCppfunc
209 ,amc_TableId_dmmeta_cppfunc = 15 // dmmeta.cppfunc -> amc.FCppfunc
210 ,amc_TableId_dmmeta_Cpptype = 16 // dmmeta.Cpptype -> amc.FCpptype
211 ,amc_TableId_dmmeta_cpptype = 16 // dmmeta.cpptype -> amc.FCpptype
212 ,amc_TableId_dmmeta_Csize = 17 // dmmeta.Csize -> amc.FCsize
213 ,amc_TableId_dmmeta_csize = 17 // dmmeta.csize -> amc.FCsize
214 ,amc_TableId_dmmeta_Cstr = 18 // dmmeta.Cstr -> amc.FCstr
215 ,amc_TableId_dmmeta_cstr = 18 // dmmeta.cstr -> amc.FCstr
216 ,amc_TableId_dmmeta_Ctype = 19 // dmmeta.Ctype -> amc.FCtype
217 ,amc_TableId_dmmeta_ctype = 19 // dmmeta.ctype -> amc.FCtype
218 ,amc_TableId_dmmeta_Dispatch = 20 // dmmeta.Dispatch -> amc.FDispatch
219 ,amc_TableId_dmmeta_dispatch = 20 // dmmeta.dispatch -> amc.FDispatch
220 ,amc_TableId_dmmeta_DispatchMsg = 21 // dmmeta.DispatchMsg -> amc.FDispatchmsg
221 ,amc_TableId_dmmeta_dispatch_msg = 21 // dmmeta.dispatch_msg -> amc.FDispatchmsg
222 ,amc_TableId_dmmeta_Dispctx = 22 // dmmeta.Dispctx -> amc.FDispctx
223 ,amc_TableId_dmmeta_dispctx = 22 // dmmeta.dispctx -> amc.FDispctx
224 ,amc_TableId_dmmeta_Dispfilter = 23 // dmmeta.Dispfilter -> amc.FDispfilter
225 ,amc_TableId_dmmeta_dispfilter = 23 // dmmeta.dispfilter -> amc.FDispfilter
226 ,amc_TableId_dmmeta_Disptrace = 24 // dmmeta.Disptrace -> amc.FDisptrace
227 ,amc_TableId_dmmeta_disptrace = 24 // dmmeta.disptrace -> amc.FDisptrace
228 ,amc_TableId_dmmeta_Falias = 25 // dmmeta.Falias -> amc.FFalias
229 ,amc_TableId_dmmeta_falias = 25 // dmmeta.falias -> amc.FFalias
230 ,amc_TableId_dmmeta_Fbase = 26 // dmmeta.Fbase -> amc.FFbase
231 ,amc_TableId_dmmeta_fbase = 26 // dmmeta.fbase -> amc.FFbase
232 ,amc_TableId_dmmeta_Fbigend = 27 // dmmeta.Fbigend -> amc.FFbigend
233 ,amc_TableId_dmmeta_fbigend = 27 // dmmeta.fbigend -> amc.FFbigend
234 ,amc_TableId_dmmeta_Fbitset = 28 // dmmeta.Fbitset -> amc.FFbitset
235 ,amc_TableId_dmmeta_fbitset = 28 // dmmeta.fbitset -> amc.FFbitset
236 ,amc_TableId_dmmeta_Fbuf = 29 // dmmeta.Fbuf -> amc.FFbuf
237 ,amc_TableId_dmmeta_fbuf = 29 // dmmeta.fbuf -> amc.FFbuf
238 ,amc_TableId_dmmeta_Fcast = 30 // dmmeta.Fcast -> amc.FFcast
239 ,amc_TableId_dmmeta_fcast = 30 // dmmeta.fcast -> amc.FFcast
240 ,amc_TableId_dmmeta_Fcleanup = 31 // dmmeta.Fcleanup -> amc.FFcleanup
241 ,amc_TableId_dmmeta_fcleanup = 31 // dmmeta.fcleanup -> amc.FFcleanup
242 ,amc_TableId_dmmeta_Fcmap = 32 // dmmeta.Fcmap -> amc.FFcmap
243 ,amc_TableId_dmmeta_fcmap = 32 // dmmeta.fcmap -> amc.FFcmap
244 ,amc_TableId_dmmeta_Fcmdline = 33 // dmmeta.Fcmdline -> amc.FFcmdline
245 ,amc_TableId_dmmeta_fcmdline = 33 // dmmeta.fcmdline -> amc.FFcmdline
246 ,amc_TableId_dmmeta_Fcmp = 34 // dmmeta.Fcmp -> amc.FFcmp
247 ,amc_TableId_dmmeta_fcmp = 34 // dmmeta.fcmp -> amc.FFcmp
248 ,amc_TableId_dmmeta_Fcompact = 35 // dmmeta.Fcompact -> amc.FFcompact
249 ,amc_TableId_dmmeta_fcompact = 35 // dmmeta.fcompact -> amc.FFcompact
250 ,amc_TableId_dmmeta_Fconst = 36 // dmmeta.Fconst -> amc.FFconst
251 ,amc_TableId_dmmeta_fconst = 36 // dmmeta.fconst -> amc.FFconst
252 ,amc_TableId_dmmeta_Fcurs = 37 // dmmeta.Fcurs -> amc.FFcurs
253 ,amc_TableId_dmmeta_fcurs = 37 // dmmeta.fcurs -> amc.FFcurs
254 ,amc_TableId_dmmeta_Fdec = 38 // dmmeta.Fdec -> amc.FFdec
255 ,amc_TableId_dmmeta_fdec = 38 // dmmeta.fdec -> amc.FFdec
256 ,amc_TableId_dmmeta_Fdelay = 39 // dmmeta.Fdelay -> amc.FFdelay
257 ,amc_TableId_dmmeta_fdelay = 39 // dmmeta.fdelay -> amc.FFdelay
258 ,amc_TableId_dmmeta_Ffast = 40 // dmmeta.Ffast -> amc.FFfast
259 ,amc_TableId_dmmeta_ffast = 40 // dmmeta.ffast -> amc.FFfast
260 ,amc_TableId_dmmeta_Fflag = 41 // dmmeta.Fflag -> amc.FFflag
261 ,amc_TableId_dmmeta_fflag = 41 // dmmeta.fflag -> amc.FFflag
262 ,amc_TableId_dmmeta_Field = 42 // dmmeta.Field -> amc.FField
263 ,amc_TableId_dmmeta_field = 42 // dmmeta.field -> amc.FField
264 ,amc_TableId_dmmeta_Findrem = 43 // dmmeta.Findrem -> amc.FFindrem
265 ,amc_TableId_dmmeta_findrem = 43 // dmmeta.findrem -> amc.FFindrem
266 ,amc_TableId_dmmeta_Finput = 44 // dmmeta.Finput -> amc.FFinput
267 ,amc_TableId_dmmeta_finput = 44 // dmmeta.finput -> amc.FFinput
268 ,amc_TableId_dmmeta_Fldoffset = 45 // dmmeta.Fldoffset -> amc.FFldoffset
269 ,amc_TableId_dmmeta_fldoffset = 45 // dmmeta.fldoffset -> amc.FFldoffset
270 ,amc_TableId_dmmeta_Floadtuples = 46 // dmmeta.Floadtuples -> amc.FFloadtuples
271 ,amc_TableId_dmmeta_floadtuples = 46 // dmmeta.floadtuples -> amc.FFloadtuples
272 ,amc_TableId_dmmeta_Fnoremove = 47 // dmmeta.Fnoremove -> amc.FFnoremove
273 ,amc_TableId_dmmeta_fnoremove = 47 // dmmeta.fnoremove -> amc.FFnoremove
274 ,amc_TableId_dmmeta_Foutput = 48 // dmmeta.Foutput -> amc.FFoutput
275 ,amc_TableId_dmmeta_foutput = 48 // dmmeta.foutput -> amc.FFoutput
276 ,amc_TableId_dmmeta_Fprefix = 49 // dmmeta.Fprefix -> amc.FFprefix
277 ,amc_TableId_dmmeta_fprefix = 49 // dmmeta.fprefix -> amc.FFprefix
278 ,amc_TableId_dmmeta_Fregx = 50 // dmmeta.Fregx -> amc.FFregx
279 ,amc_TableId_dmmeta_fregx = 50 // dmmeta.fregx -> amc.FFregx
280 ,amc_TableId_dmmeta_Fsort = 51 // dmmeta.Fsort -> amc.FFsort
281 ,amc_TableId_dmmeta_fsort = 51 // dmmeta.fsort -> amc.FFsort
282 ,amc_TableId_dmmeta_Fstep = 52 // dmmeta.Fstep -> amc.FFstep
283 ,amc_TableId_dmmeta_fstep = 52 // dmmeta.fstep -> amc.FFstep
284 ,amc_TableId_dmmeta_Ftrace = 53 // dmmeta.Ftrace -> amc.FFtrace
285 ,amc_TableId_dmmeta_ftrace = 53 // dmmeta.ftrace -> amc.FFtrace
286 ,amc_TableId_dmmeta_Func = 54 // dmmeta.Func -> amc.FFunc
287 ,amc_TableId_dmmeta_func = 54 // dmmeta.func -> amc.FFunc
288 ,amc_TableId_dmmeta_Funique = 55 // dmmeta.Funique -> amc.FFunique
289 ,amc_TableId_dmmeta_funique = 55 // dmmeta.funique -> amc.FFunique
290 ,amc_TableId_dmmeta_Fuserinit = 56 // dmmeta.Fuserinit -> amc.FFuserinit
291 ,amc_TableId_dmmeta_fuserinit = 56 // dmmeta.fuserinit -> amc.FFuserinit
292 ,amc_TableId_dmmeta_Fwddecl = 57 // dmmeta.Fwddecl -> amc.FFwddecl
293 ,amc_TableId_dmmeta_fwddecl = 57 // dmmeta.fwddecl -> amc.FFwddecl
294 ,amc_TableId_dmmeta_Gconst = 58 // dmmeta.Gconst -> amc.FGconst
295 ,amc_TableId_dmmeta_gconst = 58 // dmmeta.gconst -> amc.FGconst
296 ,amc_TableId_dmmeta_Gstatic = 59 // dmmeta.Gstatic -> amc.FGstatic
297 ,amc_TableId_dmmeta_gstatic = 59 // dmmeta.gstatic -> amc.FGstatic
298 ,amc_TableId_dmmeta_Gsymbol = 60 // dmmeta.Gsymbol -> amc.FGsymbol
299 ,amc_TableId_dmmeta_gsymbol = 60 // dmmeta.gsymbol -> amc.FGsymbol
300 ,amc_TableId_dmmeta_Hook = 61 // dmmeta.Hook -> amc.FHook
301 ,amc_TableId_dmmeta_hook = 61 // dmmeta.hook -> amc.FHook
302 ,amc_TableId_dmmeta_Inlary = 62 // dmmeta.Inlary -> amc.FInlary
303 ,amc_TableId_dmmeta_inlary = 62 // dmmeta.inlary -> amc.FInlary
304 ,amc_TableId_dmmeta_Lenfld = 63 // dmmeta.Lenfld -> amc.FLenfld
305 ,amc_TableId_dmmeta_lenfld = 63 // dmmeta.lenfld -> amc.FLenfld
306 ,amc_TableId_dev_License = 64 // dev.License -> amc.FLicense
307 ,amc_TableId_dev_license = 64 // dev.license -> amc.FLicense
308 ,amc_TableId_dmmeta_Listtype = 65 // dmmeta.Listtype -> amc.FListtype
309 ,amc_TableId_dmmeta_listtype = 65 // dmmeta.listtype -> amc.FListtype
310 ,amc_TableId_dmmeta_Llist = 66 // dmmeta.Llist -> amc.FLlist
311 ,amc_TableId_dmmeta_llist = 66 // dmmeta.llist -> amc.FLlist
312 ,amc_TableId_dmmeta_Main = 67 // dmmeta.Main -> amc.FMain
313 ,amc_TableId_dmmeta_main = 67 // dmmeta.main -> amc.FMain
314 ,amc_TableId_dmmeta_Msgtype = 68 // dmmeta.Msgtype -> amc.FMsgtype
315 ,amc_TableId_dmmeta_msgtype = 68 // dmmeta.msgtype -> amc.FMsgtype
316 ,amc_TableId_dmmeta_Nocascdel = 69 // dmmeta.Nocascdel -> amc.FNocascdel
317 ,amc_TableId_dmmeta_nocascdel = 69 // dmmeta.nocascdel -> amc.FNocascdel
318 ,amc_TableId_dmmeta_Nossimfile = 70 // dmmeta.Nossimfile -> amc.FNossimfile
319 ,amc_TableId_dmmeta_nossimfile = 70 // dmmeta.nossimfile -> amc.FNossimfile
320 ,amc_TableId_dmmeta_Noxref = 71 // dmmeta.Noxref -> amc.FNoxref
321 ,amc_TableId_dmmeta_noxref = 71 // dmmeta.noxref -> amc.FNoxref
322 ,amc_TableId_dmmeta_Ns = 72 // dmmeta.Ns -> amc.FNs
323 ,amc_TableId_dmmeta_ns = 72 // dmmeta.ns -> amc.FNs
324 ,amc_TableId_dmmeta_Nscpp = 73 // dmmeta.Nscpp -> amc.FNscpp
325 ,amc_TableId_dmmeta_nscpp = 73 // dmmeta.nscpp -> amc.FNscpp
326 ,amc_TableId_dmmeta_Nsdb = 74 // dmmeta.Nsdb -> amc.FNsdb
327 ,amc_TableId_dmmeta_nsdb = 74 // dmmeta.nsdb -> amc.FNsdb
328 ,amc_TableId_dmmeta_Nsinclude = 75 // dmmeta.Nsinclude -> amc.FNsinclude
329 ,amc_TableId_dmmeta_nsinclude = 75 // dmmeta.nsinclude -> amc.FNsinclude
330 ,amc_TableId_dmmeta_Nsproto = 76 // dmmeta.Nsproto -> amc.FNsproto
331 ,amc_TableId_dmmeta_nsproto = 76 // dmmeta.nsproto -> amc.FNsproto
332 ,amc_TableId_dmmeta_Nsx = 77 // dmmeta.Nsx -> amc.FNsx
333 ,amc_TableId_dmmeta_nsx = 77 // dmmeta.nsx -> amc.FNsx
334 ,amc_TableId_dmmeta_Numstr = 78 // dmmeta.Numstr -> amc.FNumstr
335 ,amc_TableId_dmmeta_numstr = 78 // dmmeta.numstr -> amc.FNumstr
336 ,amc_TableId_dmmeta_Pack = 79 // dmmeta.Pack -> amc.FPack
337 ,amc_TableId_dmmeta_pack = 79 // dmmeta.pack -> amc.FPack
338 ,amc_TableId_dmmeta_Pmaskfld = 80 // dmmeta.Pmaskfld -> amc.FPmaskfld
339 ,amc_TableId_dmmeta_pmaskfld = 80 // dmmeta.pmaskfld -> amc.FPmaskfld
340 ,amc_TableId_dmmeta_PmaskfldMember = 81 // dmmeta.PmaskfldMember -> amc.FPmaskfldMember
341 ,amc_TableId_dmmeta_pmaskfld_member = 81 // dmmeta.pmaskfld_member -> amc.FPmaskfldMember
342 ,amc_TableId_dmmeta_Pnew = 82 // dmmeta.Pnew -> amc.FPnew
343 ,amc_TableId_dmmeta_pnew = 82 // dmmeta.pnew -> amc.FPnew
344 ,amc_TableId_dmmeta_Ptrary = 83 // dmmeta.Ptrary -> amc.FPtrary
345 ,amc_TableId_dmmeta_ptrary = 83 // dmmeta.ptrary -> amc.FPtrary
346 ,amc_TableId_dmmeta_Rowid = 84 // dmmeta.Rowid -> amc.FRowid
347 ,amc_TableId_dmmeta_rowid = 84 // dmmeta.rowid -> amc.FRowid
348 ,amc_TableId_dmmeta_Smallstr = 85 // dmmeta.Smallstr -> amc.FSmallstr
349 ,amc_TableId_dmmeta_smallstr = 85 // dmmeta.smallstr -> amc.FSmallstr
350 ,amc_TableId_dmmeta_Sortfld = 86 // dmmeta.Sortfld -> amc.FSortfld
351 ,amc_TableId_dmmeta_sortfld = 86 // dmmeta.sortfld -> amc.FSortfld
352 ,amc_TableId_dmmeta_Ssimfile = 87 // dmmeta.Ssimfile -> amc.FSsimfile
353 ,amc_TableId_dmmeta_ssimfile = 87 // dmmeta.ssimfile -> amc.FSsimfile
354 ,amc_TableId_dmmeta_Ssimsort = 88 // dmmeta.Ssimsort -> amc.FSsimsort
355 ,amc_TableId_dmmeta_ssimsort = 88 // dmmeta.ssimsort -> amc.FSsimsort
356 ,amc_TableId_dmmeta_Ssimvolatile = 89 // dmmeta.Ssimvolatile -> amc.FSsimvolatile
357 ,amc_TableId_dmmeta_ssimvolatile = 89 // dmmeta.ssimvolatile -> amc.FSsimvolatile
358 ,amc_TableId_dmmeta_Substr = 90 // dmmeta.Substr -> amc.FSubstr
359 ,amc_TableId_dmmeta_substr = 90 // dmmeta.substr -> amc.FSubstr
360 ,amc_TableId_dev_Targdep = 91 // dev.Targdep -> amc.FTargdep
361 ,amc_TableId_dev_targdep = 91 // dev.targdep -> amc.FTargdep
362 ,amc_TableId_dev_Target = 92 // dev.Target -> amc.FTarget
363 ,amc_TableId_dev_target = 92 // dev.target -> amc.FTarget
364 ,amc_TableId_dmmeta_Tary = 93 // dmmeta.Tary -> amc.FTary
365 ,amc_TableId_dmmeta_tary = 93 // dmmeta.tary -> amc.FTary
366 ,amc_TableId_amcdb_Tcurs = 94 // amcdb.Tcurs -> amc.FTcurs
367 ,amc_TableId_amcdb_tcurs = 94 // amcdb.tcurs -> amc.FTcurs
368 ,amc_TableId_dmmeta_Thash = 95 // dmmeta.Thash -> amc.FThash
369 ,amc_TableId_dmmeta_thash = 95 // dmmeta.thash -> amc.FThash
370 ,amc_TableId_dmmeta_Typefld = 96 // dmmeta.Typefld -> amc.FTypefld
371 ,amc_TableId_dmmeta_typefld = 96 // dmmeta.typefld -> amc.FTypefld
372 ,amc_TableId_dmmeta_Usertracefld = 97 // dmmeta.Usertracefld -> amc.FUsertracefld
373 ,amc_TableId_dmmeta_usertracefld = 97 // dmmeta.usertracefld -> amc.FUsertracefld
374 ,amc_TableId_dmmeta_Xref = 98 // dmmeta.Xref -> amc.FXref
375 ,amc_TableId_dmmeta_xref = 98 // dmmeta.xref -> amc.FXref
376};
377
378enum { amc_TableIdEnum_N = 198 };
379
380namespace amc { // gen:ns_pkeytypedef
381} // gen:ns_pkeytypedef
382namespace amc { // gen:ns_tclass_field
383struct lpool_Lpblock {
384 lpool_Lpblock* next;
385};
386extern const char *amc_help;
387} // gen:ns_tclass_field
388// gen:ns_fwddecl2
389namespace dmmeta { struct Anonfld; }
390namespace dmmeta { struct Argvtype; }
391namespace dmmeta { struct Basepool; }
392namespace amc { struct FField; }
393namespace dmmeta { struct Bitfld; }
394namespace amcdb { struct Bltin; }
395namespace dmmeta { struct Cafter; }
396namespace amc { struct FCtype; }
397namespace dmmeta { struct Cascdel; }
398namespace dmmeta { struct Ccmp; }
399namespace dmmeta { struct Cdflt; }
400namespace dmmeta { struct Cextern; }
401namespace dmmeta { struct Cfast; }
402namespace dmmeta { struct Cfmt; }
403namespace dmmeta { struct Cget; }
404namespace dmmeta { struct Charset; }
405namespace dmmeta { struct Chash; }
406namespace dmmeta { struct Cppfunc; }
407namespace dmmeta { struct Cpptype; }
408namespace dmmeta { struct Csize; }
409namespace dmmeta { struct Cstr; }
410namespace dmmeta { struct Ctype; }
411namespace amc { struct FNs; }
412namespace dmmeta { struct Ctypelen; }
413namespace dmmeta { struct Dispatch; }
414namespace dmmeta { struct DispatchMsg; }
415namespace amc { struct FDispatch; }
416namespace dmmeta { struct Dispctx; }
417namespace dmmeta { struct Dispfilter; }
418namespace dmmeta { struct Dispsig; }
419namespace dmmeta { struct Disptrace; }
420namespace dmmeta { struct Falias; }
421namespace dmmeta { struct Fbase; }
422namespace dmmeta { struct Fbigend; }
423namespace dmmeta { struct Fbitset; }
424namespace dmmeta { struct Fbuf; }
425namespace dmmeta { struct Fcast; }
426namespace dmmeta { struct Fcleanup; }
427namespace dmmeta { struct Fcmap; }
428namespace dmmeta { struct Fcmdline; }
429namespace dmmeta { struct Fcmp; }
430namespace dmmeta { struct Fcompact; }
431namespace dmmeta { struct Fconst; }
432namespace dmmeta { struct Fcurs; }
433namespace dmmeta { struct Fdec; }
434namespace dmmeta { struct Fdelay; }
435namespace dmmeta { struct Ffast; }
436namespace dmmeta { struct Fflag; }
437namespace dmmeta { struct Field; }
438namespace amc { struct FReftype; }
439namespace dmmeta { struct Findrem; }
440namespace dmmeta { struct Finput; }
441namespace dmmeta { struct Fldoffset; }
442namespace dmmeta { struct Floadtuples; }
443namespace dmmeta { struct Fnoremove; }
444namespace dmmeta { struct Foutput; }
445namespace dmmeta { struct Fprefix; }
446namespace dmmeta { struct Fregx; }
447namespace dmmeta { struct Fsort; }
448namespace dmmeta { struct Fstep; }
449namespace dmmeta { struct Ftrace; }
450namespace dmmeta { struct Func; }
451namespace dmmeta { struct Funique; }
452namespace dmmeta { struct Fuserinit; }
453namespace dmmeta { struct Fwddecl; }
454namespace dmmeta { struct Gconst; }
455namespace amcdb { struct Gen; }
456namespace dmmeta { struct Gstatic; }
457namespace dmmeta { struct Gsymbol; }
458namespace amc { struct FSsimfile; }
459namespace dmmeta { struct Hook; }
460namespace dmmeta { struct Inlary; }
461namespace dmmeta { struct Lenfld; }
462namespace dev { struct License; }
463namespace dmmeta { struct Listtype; }
464namespace dmmeta { struct Llist; }
465namespace amc { struct FListtype; }
466namespace dmmeta { struct Main; }
467namespace dmmeta { struct Msgtype; }
468namespace dmmeta { struct Nocascdel; }
469namespace dmmeta { struct Nossimfile; }
470namespace dmmeta { struct Noxref; }
471namespace dmmeta { struct Ns; }
472namespace amc { struct FLicense; }
473namespace dmmeta { struct Nscpp; }
474namespace dmmeta { struct Nsdb; }
475namespace dmmeta { struct Nsinclude; }
476namespace dmmeta { struct Nsproto; }
477namespace dmmeta { struct Nsx; }
478namespace dmmeta { struct Numstr; }
479namespace dmmeta { struct Pack; }
480namespace dmmeta { struct Pmaskfld; }
481namespace dmmeta { struct PmaskfldMember; }
482namespace amc { struct FPmaskfld; }
483namespace dmmeta { struct Pnew; }
484namespace dmmeta { struct Ptrary; }
485namespace dmmeta { struct Reftype; }
486namespace amc { struct FTclass; }
487namespace dmmeta { struct Rowid; }
488namespace dmmeta { struct Smallstr; }
489namespace dmmeta { struct Sortfld; }
490namespace dmmeta { struct Ssimfile; }
491namespace dmmeta { struct Ssimsort; }
492namespace dmmeta { struct Ssimvolatile; }
493namespace dmmeta { struct Substr; }
494namespace dev { struct Targdep; }
495namespace amc { struct FTarget; }
496namespace dev { struct Target; }
497namespace dmmeta { struct Tary; }
498namespace amcdb { struct Tclass; }
499namespace amcdb { struct Tcurs; }
500namespace amcdb { struct Tfunc; }
501namespace dmmeta { struct Thash; }
502namespace dmmeta { struct Tracefld; }
503namespace dmmeta { struct Tracerec; }
504namespace dmmeta { struct Typefld; }
505namespace dmmeta { struct Usertracefld; }
506namespace dmmeta { struct Xref; }
507namespace amc { struct FTfunc; }
508namespace amc { struct FFunc; }
509namespace amc { struct ctype_zs_cfmt_curs; }
510namespace amc { struct ctype_c_field_curs; }
511namespace amc { struct ctype_c_static_curs; }
512namespace amc { struct ctype_c_parent_curs; }
513namespace amc { struct ctype_c_pmaskfld_curs; }
514namespace amc { struct ctype_c_datafld_curs; }
515namespace amc { struct ctype_zd_inst_curs; }
516namespace amc { struct ctype_zs_xref_curs; }
517namespace amc { struct ctype_c_ffunc_curs; }
518namespace amc { struct ctype_zd_cafter_curs; }
519namespace amc { struct ctype_zd_access_curs; }
520namespace amc { struct ctype_c_fcurs_curs; }
521namespace amc { struct ctype_c_ffast_curs; }
522namespace amc { struct tclass_c_tfunc_curs; }
523namespace amc { struct _db_fsort_curs; }
524namespace amc { struct _db_dispfilter_curs; }
525namespace amc { struct _db_usertracefld_curs; }
526namespace amc { struct _db_cfmt_curs; }
527namespace amc { struct _db_dispatch_curs; }
528namespace amc { struct _db_dispatch_msg_curs; }
529namespace amc { struct _db_ctype_curs; }
530namespace amc { struct _db_field_curs; }
531namespace amc { struct _db_basepool_curs; }
532namespace amc { struct _db_llist_curs; }
533namespace amc { struct _db_anonfld_curs; }
534namespace amc { struct _db_xref_curs; }
535namespace amc { struct _db_ns_curs; }
536namespace amc { struct _db_pnew_curs; }
537namespace amc { struct _db_fldoffset_curs; }
538namespace amc { struct _db_typefld_curs; }
539namespace amc { struct _db_lenfld_curs; }
540namespace amc { struct _db_bltin_curs; }
541namespace amc { struct _db_static_tuple_curs; }
542namespace amc { struct _db_msgtype_curs; }
543namespace amc { struct _db_gconst_curs; }
544namespace amc { struct _db_gstatic_curs; }
545namespace amc { struct _db_thash_curs; }
546namespace amc { struct _db_func_curs; }
547namespace amc { struct _db_smallstr_curs; }
548namespace amc { struct _db_numstr_curs; }
549namespace amc { struct _db_main_curs; }
550namespace amc { struct _db_reftype_curs; }
551namespace amc { struct _db_cpptype_curs; }
552namespace amc { struct _db_inlary_curs; }
553namespace amc { struct _db_tary_curs; }
554namespace amc { struct _db_cppfunc_curs; }
555namespace amc { struct _db_rowid_curs; }
556namespace amc { struct _db_cascdel_curs; }
557namespace amc { struct _db_substr_curs; }
558namespace amc { struct _db_bitfld_curs; }
559namespace amc { struct _db_ssimfile_curs; }
560namespace amc { struct _db_pack_curs; }
561namespace amc { struct _db_ptrary_curs; }
562namespace amc { struct _db_c_ctype_sorted_curs; }
563namespace amc { struct _db_enumstr_curs; }
564namespace amc { struct _db_enumstr_len_curs; }
565namespace amc { struct _db_bh_enumstr_len_curs; }
566namespace amc { struct _db_fbitset_curs; }
567namespace amc { struct _db_fcleanup_curs; }
568namespace amc { struct _db_fdec_curs; }
569namespace amc { struct _db_fconst_curs; }
570namespace amc { struct _db_c_ns_sorted_curs; }
571namespace amc { struct _db_finput_curs; }
572namespace amc { struct _db_foutput_curs; }
573namespace amc { struct _db_fbuf_curs; }
574namespace amc { struct _db_chash_curs; }
575namespace amc { struct _db_ccmp_curs; }
576namespace amc { struct _db_fbigend_curs; }
577namespace amc { struct _db_zsl_ctype_pack_tran_curs; }
578namespace amc { struct _db_cstr_curs; }
579namespace amc { struct _db_listtype_curs; }
580namespace amc { struct _db_fstep_curs; }
581namespace amc { struct _db_cextern_curs; }
582namespace amc { struct _db_fdelay_curs; }
583namespace amc { struct _db_disptrace_curs; }
584namespace amc { struct _db_tracefld_curs; }
585namespace amc { struct _db_tracerec_curs; }
586namespace amc { struct _db_dispsig_curs; }
587namespace amc { struct _db_c_dispsig_sorted_curs; }
588namespace amc { struct _db_zs_sig_visit_curs; }
589namespace amc { struct _db_target_curs; }
590namespace amc { struct _db_targdep_curs; }
591namespace amc { struct _db_dispctx_curs; }
592namespace amc { struct _db_pmaskfld_curs; }
593namespace amc { struct _db_fwddecl_curs; }
594namespace amc { struct _db_tfunc_curs; }
595namespace amc { struct _db_gen_curs; }
596namespace amc { struct _db_fregx_curs; }
597namespace amc { struct _db_tclass_curs; }
598namespace amc { struct _db_fcmp_curs; }
599namespace amc { struct _db_fcast_curs; }
600namespace amc { struct _db_noxref_curs; }
601namespace amc { struct _db_nocascdel_curs; }
602namespace amc { struct _db_cafter_curs; }
603namespace amc { struct _db_csize_curs; }
604namespace amc { struct _db_nsx_curs; }
605namespace amc { struct _db_fcompact_curs; }
606namespace amc { struct _db_findrem_curs; }
607namespace amc { struct _db_fcurs_curs; }
608namespace amc { struct _db_cdflt_curs; }
609namespace amc { struct _db_argvtype_curs; }
610namespace amc { struct _db_fcmdline_curs; }
611namespace amc { struct _db_floadtuples_curs; }
612namespace amc { struct _db_fcmap_curs; }
613namespace amc { struct _db_zs_ordkeyfield_curs; }
614namespace amc { struct _db_nsproto_curs; }
615namespace amc { struct _db_nsdb_curs; }
616namespace amc { struct _db_zd_substr_params_curs; }
617namespace amc { struct _db_fprefix_curs; }
618namespace amc { struct _db_ftrace_curs; }
619namespace amc { struct _db_fnoremove_curs; }
620namespace amc { struct _db_c_substr_field_curs; }
621namespace amc { struct _db_ctypelen_curs; }
622namespace amc { struct _db_c_ctypelen_curs; }
623namespace amc { struct _db_c_tempfield_curs; }
624namespace amc { struct _db_fbase_curs; }
625namespace amc { struct _db_nossimfile_curs; }
626namespace amc { struct _db_gsymbol_curs; }
627namespace amc { struct _db_sortfld_curs; }
628namespace amc { struct _db_cget_curs; }
629namespace amc { struct _db_cd_temp_func_curs; }
630namespace amc { struct _db_zs_gen_perns_curs; }
631namespace amc { struct _db_hook_curs; }
632namespace amc { struct _db_charset_curs; }
633namespace amc { struct _db_nsinclude_curs; }
634namespace amc { struct _db_ssimvolatile_curs; }
635namespace amc { struct _db_funique_curs; }
636namespace amc { struct _db_fuserinit_curs; }
637namespace amc { struct _db_tcurs_curs; }
638namespace amc { struct _db_nscpp_curs; }
639namespace amc { struct _db_fflag_curs; }
640namespace amc { struct _db_falias_curs; }
641namespace amc { struct _db_license_curs; }
642namespace amc { struct _db_c_ssimfile_sorted_curs; }
643namespace amc { struct _db_zd_ssimfile_todo_curs; }
644namespace amc { struct _db_cfast_curs; }
645namespace amc { struct _db_ffast_curs; }
646namespace amc { struct _db_pmaskfld_member_curs; }
647namespace amc { struct _db_ssimsort_curs; }
648namespace amc { struct dispatch_c_dispatch_msg_curs; }
649namespace amc { struct enumstr_c_fconst_curs; }
650namespace amc { struct enumstr_len_bh_enumstr_curs; }
651namespace amc { struct field_c_ffunc_curs; }
652namespace amc { struct field_c_fconst_curs; }
653namespace amc { struct field_zd_xref_keyfld_curs; }
654namespace amc { struct field_zs_fcmap_curs; }
655namespace amc { struct field_bh_bitfld_curs; }
656namespace amc { struct field_c_ffast_curs; }
657namespace amc { struct field_c_pmaskfld_member_curs; }
658namespace amc { struct func_funcarg_curs; }
659namespace amc { struct FGenXref_seen_curs; }
660namespace amc { struct ns_c_ctype_curs; }
661namespace amc { struct ns_c_func_curs; }
662namespace amc { struct ns_c_dispatch_curs; }
663namespace amc { struct ns_c_gstatic_curs; }
664namespace amc { struct ns_include_curs; }
665namespace amc { struct ns_c_dispsig_curs; }
666namespace amc { struct ns_c_parentns_curs; }
667namespace amc { struct ns_c_cppincl_curs; }
668namespace amc { struct ns_c_hdrincl_curs; }
669namespace amc { struct ns_c_fwddecl_curs; }
670namespace amc { struct ns_c_pnew_curs; }
671namespace amc { struct ns_c_outfile_curs; }
672namespace amc { struct ns_c_foutput_curs; }
673namespace amc { struct ns_c_fstep_curs; }
674namespace amc { struct ns_c_gsymbol_curs; }
675namespace amc { struct ns_c_nsinclude_curs; }
676namespace amc { struct pmaskfld_c_pmaskfld_member_curs; }
677namespace amc { struct reftype_zs_fprefix_curs; }
678namespace amc { struct target_c_targdep_curs; }
679namespace amc { struct BltinId; }
680namespace amc { struct CppkeywordId; }
681namespace amc { struct Enumstr; }
682namespace amc { struct FAnonfld; }
683namespace amc { struct FArgvtype; }
684namespace amc { struct FBasepool; }
685namespace amc { struct FBitfld; }
686namespace amc { struct FBltin; }
687namespace amc { struct FCafter; }
688namespace amc { struct FCascdel; }
689namespace amc { struct FCcmp; }
690namespace amc { struct FCdflt; }
691namespace amc { struct FCextern; }
692namespace amc { struct FCfast; }
693namespace amc { struct FCfmt; }
694namespace amc { struct FCget; }
695namespace amc { struct FCharset; }
696namespace amc { struct FChash; }
697namespace amc { struct FCppfunc; }
698namespace amc { struct FCpptype; }
699namespace amc { struct FCsize; }
700namespace amc { struct FCstr; }
701namespace amc { struct FCtypelen; }
702namespace amc { struct Genctx; }
703namespace amc { struct trace; }
704namespace amc { struct FDb; }
705namespace amc { struct FDispatchmsg; }
706namespace amc { struct FDispctx; }
707namespace amc { struct FDispfilter; }
708namespace amc { struct FDispsig; }
709namespace amc { struct FDisptrace; }
710namespace amc { struct FEnumstr; }
711namespace amc { struct FEnumstrLen; }
712namespace amc { struct FFalias; }
713namespace amc { struct FFbase; }
714namespace amc { struct FFbigend; }
715namespace amc { struct FFbitset; }
716namespace amc { struct FFbuf; }
717namespace amc { struct FFcast; }
718namespace amc { struct FFcleanup; }
719namespace amc { struct FFcmap; }
720namespace amc { struct FFcmdline; }
721namespace amc { struct FFcmp; }
722namespace amc { struct FFcompact; }
723namespace amc { struct FFconst; }
724namespace amc { struct FFcurs; }
725namespace amc { struct FFdec; }
726namespace amc { struct FFdelay; }
727namespace amc { struct FFfast; }
728namespace amc { struct FFflag; }
729namespace amc { struct FFindrem; }
730namespace amc { struct FFinput; }
731namespace amc { struct FFldoffset; }
732namespace amc { struct FFloadtuples; }
733namespace amc { struct FFnoremove; }
734namespace amc { struct FFoutput; }
735namespace amc { struct FFprefix; }
736namespace amc { struct FFregx; }
737namespace amc { struct FFsort; }
738namespace amc { struct FFstep; }
739namespace amc { struct FFtrace; }
740namespace amc { struct FFunique; }
741namespace amc { struct FFuserinit; }
742namespace amc { struct FFwddecl; }
743namespace amc { struct FGconst; }
744namespace amc { struct FGen; }
745namespace amc { struct FGenXref; }
746namespace amc { struct FGenXrefSeen; }
747namespace amc { struct FGstatic; }
748namespace amc { struct FGsymbol; }
749namespace amc { struct FHook; }
750namespace amc { struct FInlary; }
751namespace amc { struct FLenfld; }
752namespace amc { struct FLlist; }
753namespace amc { struct FMain; }
754namespace amc { struct FMsgtype; }
755namespace amc { struct FNocascdel; }
756namespace amc { struct FNossimfile; }
757namespace amc { struct FNoxref; }
758namespace amc { struct FNscpp; }
759namespace amc { struct FNsdb; }
760namespace amc { struct FNsinclude; }
761namespace amc { struct FNsproto; }
762namespace amc { struct FNsx; }
763namespace amc { struct FNumstr; }
764namespace amc { struct FOutfile; }
765namespace amc { struct FPack; }
766namespace amc { struct FPmaskfldMember; }
767namespace amc { struct FPnew; }
768namespace amc { struct FPtrary; }
769namespace amc { struct FRowid; }
770namespace amc { struct FSmallstr; }
771namespace amc { struct FSortfld; }
772namespace amc { struct FSsimsort; }
773namespace amc { struct FSsimvolatile; }
774namespace amc { struct FStatictuple; }
775namespace amc { struct FSubstr; }
776namespace amc { struct FTargdep; }
777namespace amc { struct FTary; }
778namespace amc { struct FTcurs; }
779namespace amc { struct FThash; }
780namespace amc { struct FTracefld; }
781namespace amc { struct FTracerec; }
782namespace amc { struct FTypefld; }
783namespace amc { struct FUsertracefld; }
784namespace amc { struct FXref; }
785namespace amc { struct FieldId; }
786namespace amc { struct Funcarg; }
787namespace amc { struct Genpnew; }
788namespace amc { struct Pnewtype; }
789namespace amc { struct TableId; }
790namespace amc { extern struct amc::FDb _db; }
791namespace amc { // hook_fcn_typedef
792 typedef void (*tclass_step_hook)(); // hook:amc.FTclass.step
793 typedef void (*gen_step_hook)(); // hook:amc.FGen.step
794 typedef void (*tfunc_step_hook)(); // hook:amc.FTfunc.step
795} // hook_decl
796namespace amc { // gen:ns_gsymbol
797 extern const algo::strptr amcdb_regxtype_; // ""
798 extern const algo::strptr amcdb_regxtype_Acr; // "Acr"
799 extern const algo::strptr amcdb_regxtype_Shell; // "Shell"
800 extern const algo::strptr amcdb_regxtype_Sql; // "Sql"
801} // gen:ns_gsymbol
802namespace amc { // gen:ns_gsymbol
803 extern const algo::strptr dev_gitfile_conf_copyright_txt; // "conf/copyright.txt"
804} // gen:ns_gsymbol
805namespace amc { // gen:ns_print_struct
806
807// --- amc.BltinId
808struct BltinId { // amc.BltinId
809 u8 value; // 0
810 inline operator amc_BltinIdEnum() const;
811 explicit BltinId(u8 in_value);
812 BltinId(amc_BltinIdEnum arg);
813 BltinId();
814};
815
816// Get value of field as enum type
817// func:amc.BltinId.value.GetEnum
818amc_BltinIdEnum value_GetEnum(const amc::BltinId& parent) __attribute__((nothrow));
819// Set value of field from enum type.
820// func:amc.BltinId.value.SetEnum
821void value_SetEnum(amc::BltinId& parent, amc_BltinIdEnum rhs) __attribute__((nothrow));
822// Convert numeric value of field to one of predefined string constants.
823// If string is found, return a static C string. Otherwise, return NULL.
824// func:amc.BltinId.value.ToCstr
825const char* value_ToCstr(const amc::BltinId& parent) __attribute__((nothrow));
826// Convert value to a string. First, attempt conversion to a known string.
827// If no string matches, print value as a numeric value.
828// func:amc.BltinId.value.Print
829void value_Print(const amc::BltinId& parent, algo::cstring &lhs) __attribute__((nothrow));
830// Convert string to field.
831// If the string is invalid, do not modify field and return false.
832// In case of success, return true
833// func:amc.BltinId.value.SetStrptrMaybe
834bool value_SetStrptrMaybe(amc::BltinId& parent, algo::strptr rhs) __attribute__((nothrow));
835// Convert string to field.
836// If the string is invalid, set numeric value to DFLT
837// func:amc.BltinId.value.SetStrptr
838void value_SetStrptr(amc::BltinId& parent, algo::strptr rhs, amc_BltinIdEnum dflt) __attribute__((nothrow));
839// Convert string to field. Return success value
840// func:amc.BltinId.value.ReadStrptrMaybe
841bool value_ReadStrptrMaybe(amc::BltinId& parent, algo::strptr rhs) __attribute__((nothrow));
842
843// Read fields of amc::BltinId from an ascii string.
844// The format of the string is the format of the amc::BltinId's only field
845// func:amc.BltinId..ReadStrptrMaybe
846bool BltinId_ReadStrptrMaybe(amc::BltinId &parent, algo::strptr in_str) __attribute__((nothrow));
847// Set all fields to initial values.
848// func:amc.BltinId..Init
849void BltinId_Init(amc::BltinId& parent);
850// print string representation of ROW to string STR
851// cfmt:amc.BltinId.String printfmt:Raw
852// func:amc.BltinId..Print
853void BltinId_Print(amc::BltinId row, algo::cstring& str) __attribute__((nothrow));
854
855// --- amc.CppkeywordId
856struct CppkeywordId { // amc.CppkeywordId
857 u32 id; // 0
858 CppkeywordId();
859};
860
861// Get value of field as enum type
862// func:amc.CppkeywordId.id.GetEnum
863amc_CppkeywordIdEnum id_GetEnum(const amc::CppkeywordId& parent) __attribute__((nothrow));
864// Set value of field from enum type.
865// func:amc.CppkeywordId.id.SetEnum
866void id_SetEnum(amc::CppkeywordId& parent, amc_CppkeywordIdEnum rhs) __attribute__((nothrow));
867// Convert numeric value of field to one of predefined string constants.
868// If string is found, return a static C string. Otherwise, return NULL.
869// func:amc.CppkeywordId.id.ToCstr
870const char* id_ToCstr(const amc::CppkeywordId& parent) __attribute__((nothrow));
871// Convert id to a string. First, attempt conversion to a known string.
872// If no string matches, print id as a numeric value.
873// func:amc.CppkeywordId.id.Print
874void id_Print(const amc::CppkeywordId& parent, algo::cstring &lhs) __attribute__((nothrow));
875// Convert string to field.
876// If the string is invalid, do not modify field and return false.
877// In case of success, return true
878// func:amc.CppkeywordId.id.SetStrptrMaybe
879bool id_SetStrptrMaybe(amc::CppkeywordId& parent, algo::strptr rhs) __attribute__((nothrow));
880// Convert string to field.
881// If the string is invalid, set numeric value to DFLT
882// func:amc.CppkeywordId.id.SetStrptr
883void id_SetStrptr(amc::CppkeywordId& parent, algo::strptr rhs, amc_CppkeywordIdEnum dflt) __attribute__((nothrow));
884
885// Set all fields to initial values.
886// func:amc.CppkeywordId..Init
887void CppkeywordId_Init(amc::CppkeywordId& parent);
888
889// --- amc.Enumstr
890struct Enumstr { // amc.Enumstr: Key
891 i32 len; // 0
892 algo::RnullStr8 str; //
893 explicit Enumstr(i32 in_len
894 ,const algo::strptr& in_str);
895 bool operator ==(const amc::Enumstr &rhs) const;
896 bool operator !=(const amc::Enumstr &rhs) const;
897 bool operator <(const amc::Enumstr &rhs) const;
898 bool operator >(const amc::Enumstr &rhs) const;
899 bool operator <=(const amc::Enumstr &rhs) const;
900 bool operator >=(const amc::Enumstr &rhs) const;
901 Enumstr();
902};
903
904// Compare two fields. Comparison is anti-symmetric: if a>b, then !(b>a).
905// func:amc.Enumstr.str.Lt
906bool str_Lt(amc::Enumstr& parent, amc::Enumstr &rhs) __attribute__((nothrow));
907// Compare two fields.
908// func:amc.Enumstr.str.Cmp
909i32 str_Cmp(amc::Enumstr& parent, amc::Enumstr &rhs) __attribute__((nothrow));
910
911// func:amc.Enumstr..Hash
912u32 Enumstr_Hash(u32 prev, const amc::Enumstr & rhs) __attribute__((nothrow));
913// func:amc.Enumstr..ReadFieldMaybe
914bool Enumstr_ReadFieldMaybe(amc::Enumstr& parent, algo::strptr field, algo::strptr strval) __attribute__((nothrow));
915// Read fields of amc::Enumstr from an ascii string.
916// The format of the string is an ssim Tuple
917// func:amc.Enumstr..ReadStrptrMaybe
918bool Enumstr_ReadStrptrMaybe(amc::Enumstr &parent, algo::strptr in_str) __attribute__((nothrow));
919// func:amc.Enumstr..Lt
920bool Enumstr_Lt(amc::Enumstr& lhs, amc::Enumstr& rhs) __attribute__((nothrow));
921// func:amc.Enumstr..Cmp
922i32 Enumstr_Cmp(amc::Enumstr& lhs, amc::Enumstr& rhs) __attribute__((nothrow));
923// Set all fields to initial values.
924// func:amc.Enumstr..Init
925void Enumstr_Init(amc::Enumstr& parent);
926// func:amc.Enumstr..Eq
927bool Enumstr_Eq(amc::Enumstr& lhs, amc::Enumstr& rhs) __attribute__((nothrow));
928// Set value. Return true if new value is different from old value.
929// func:amc.Enumstr..Update
930bool Enumstr_Update(amc::Enumstr &lhs, amc::Enumstr& rhs) __attribute__((nothrow));
931// print string representation of ROW to string STR
932// cfmt:amc.Enumstr.String printfmt:Tuple
933// func:amc.Enumstr..Print
934void Enumstr_Print(amc::Enumstr& row, algo::cstring& str) __attribute__((nothrow));
935
936// --- amc.FAnonfld
937// create: amc.FDb.anonfld (Lary)
938// access: amc.FField.c_anonfld (Ptr)
939struct FAnonfld { // amc.FAnonfld
940 algo::Smallstr100 field; //
941 i32 anon_idx; // 0 Index of anonymous field (if any)
942private:
943 friend amc::FAnonfld& anonfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
944 friend amc::FAnonfld* anonfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
945 friend void anonfld_RemoveLast() __attribute__((nothrow));
946 FAnonfld();
947 ~FAnonfld();
948 FAnonfld(const FAnonfld&){ /*disallow copy constructor */}
949 void operator =(const FAnonfld&){ /*disallow direct assignment */}
950};
951
952// Copy fields out of row
953// func:amc.FAnonfld.msghdr.CopyOut
954void anonfld_CopyOut(amc::FAnonfld &row, dmmeta::Anonfld &out) __attribute__((nothrow));
955// Copy fields in to row
956// func:amc.FAnonfld.msghdr.CopyIn
957void anonfld_CopyIn(amc::FAnonfld &row, dmmeta::Anonfld &in) __attribute__((nothrow));
958
959// Set all fields to initial values.
960// func:amc.FAnonfld..Init
961void FAnonfld_Init(amc::FAnonfld& anonfld);
962// func:amc.FAnonfld..Uninit
963void FAnonfld_Uninit(amc::FAnonfld& anonfld) __attribute__((nothrow));
964
965// --- amc.FArgvtype
966// create: amc.FDb.argvtype (Lary)
967// access: amc.FCtype.c_argvtype (Ptr)
968struct FArgvtype { // amc.FArgvtype
969 algo::Smallstr100 ctype; //
970 algo::Smallstr50 argvtype; //
971 algo::Comment comment; //
972private:
973 friend amc::FArgvtype& argvtype_Alloc() __attribute__((__warn_unused_result__, nothrow));
974 friend amc::FArgvtype* argvtype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
975 friend void argvtype_RemoveLast() __attribute__((nothrow));
976 FArgvtype();
977 ~FArgvtype();
978 FArgvtype(const FArgvtype&){ /*disallow copy constructor */}
979 void operator =(const FArgvtype&){ /*disallow direct assignment */}
980};
981
982// Copy fields out of row
983// func:amc.FArgvtype.base.CopyOut
984void argvtype_CopyOut(amc::FArgvtype &row, dmmeta::Argvtype &out) __attribute__((nothrow));
985// Copy fields in to row
986// func:amc.FArgvtype.base.CopyIn
987void argvtype_CopyIn(amc::FArgvtype &row, dmmeta::Argvtype &in) __attribute__((nothrow));
988
989// func:amc.FArgvtype..Uninit
990void FArgvtype_Uninit(amc::FArgvtype& argvtype) __attribute__((nothrow));
991
992// --- amc.FBasepool
993// create: amc.FDb.basepool (Lary)
994// access: amc.FField.c_basepool (Ptr)
995struct FBasepool { // amc.FBasepool
996 algo::Smallstr100 field; //
997 algo::Smallstr100 base; //
998 amc::FField* p_field; // reference to parent row
999 amc::FField* p_base; // reference to parent row
1000private:
1001 friend amc::FBasepool& basepool_Alloc() __attribute__((__warn_unused_result__, nothrow));
1002 friend amc::FBasepool* basepool_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1003 friend void basepool_RemoveLast() __attribute__((nothrow));
1004 FBasepool();
1005 ~FBasepool();
1006 FBasepool(const FBasepool&){ /*disallow copy constructor */}
1007 void operator =(const FBasepool&){ /*disallow direct assignment */}
1008};
1009
1010// Copy fields out of row
1011// func:amc.FBasepool.msghdr.CopyOut
1012void basepool_CopyOut(amc::FBasepool &row, dmmeta::Basepool &out) __attribute__((nothrow));
1013// Copy fields in to row
1014// func:amc.FBasepool.msghdr.CopyIn
1015void basepool_CopyIn(amc::FBasepool &row, dmmeta::Basepool &in) __attribute__((nothrow));
1016
1017// Set all fields to initial values.
1018// func:amc.FBasepool..Init
1019void FBasepool_Init(amc::FBasepool& basepool);
1020// func:amc.FBasepool..Uninit
1021void FBasepool_Uninit(amc::FBasepool& basepool) __attribute__((nothrow));
1022
1023// --- amc.FBitfld
1024// create: amc.FDb.bitfld (Lary)
1025// access: amc.FField.c_bitfld (Ptr)
1026// access: amc.FField.bh_bitfld (Bheap)
1027struct FBitfld { // amc.FBitfld
1028 algo::Smallstr100 field; //
1029 i32 offset; // 0 Offset, in bits, within parent field
1030 i32 width; // 0 Width, in bits, within parent field.
1031 algo::Smallstr100 srcfield; //
1032 amc::FField* p_srcfield; // reference to parent row
1033 amc::FField* p_field; // reference to parent row
1034 i32 bh_bitfld_idx; // index in heap; -1 means not-in-heap
1035private:
1036 friend amc::FBitfld& bitfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
1037 friend amc::FBitfld* bitfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1038 friend void bitfld_RemoveLast() __attribute__((nothrow));
1039 FBitfld();
1040 ~FBitfld();
1041 FBitfld(const FBitfld&){ /*disallow copy constructor */}
1042 void operator =(const FBitfld&){ /*disallow direct assignment */}
1043};
1044
1045// Copy fields out of row
1046// func:amc.FBitfld.msghdr.CopyOut
1047void bitfld_CopyOut(amc::FBitfld &row, dmmeta::Bitfld &out) __attribute__((nothrow));
1048// Copy fields in to row
1049// func:amc.FBitfld.msghdr.CopyIn
1050void bitfld_CopyIn(amc::FBitfld &row, dmmeta::Bitfld &in) __attribute__((nothrow));
1051
1052// func:amc.FBitfld.name.Get
1053algo::Smallstr50 name_Get(amc::FBitfld& bitfld) __attribute__((__warn_unused_result__, nothrow));
1054
1055// Set all fields to initial values.
1056// func:amc.FBitfld..Init
1057void FBitfld_Init(amc::FBitfld& bitfld);
1058// func:amc.FBitfld..Uninit
1059void FBitfld_Uninit(amc::FBitfld& bitfld) __attribute__((nothrow));
1060
1061// --- amc.FBltin
1062// create: amc.FDb.bltin (Lary)
1063// global access: ind_bltin (Thash)
1064// access: amc.FCtype.c_bltin (Ptr)
1065struct FBltin { // amc.FBltin
1066 algo::Smallstr100 ctype; //
1067 bool likeu64; // false
1068 bool bigendok; // false
1069 bool issigned; // false
1070 amc::FBltin* ind_bltin_next; // hash next
1071private:
1072 friend amc::FBltin& bltin_Alloc() __attribute__((__warn_unused_result__, nothrow));
1073 friend amc::FBltin* bltin_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1074 friend void bltin_RemoveLast() __attribute__((nothrow));
1075 FBltin();
1076 ~FBltin();
1077 FBltin(const FBltin&){ /*disallow copy constructor */}
1078 void operator =(const FBltin&){ /*disallow direct assignment */}
1079};
1080
1081// Copy fields out of row
1082// func:amc.FBltin.msghdr.CopyOut
1083void bltin_CopyOut(amc::FBltin &row, amcdb::Bltin &out) __attribute__((nothrow));
1084// Copy fields in to row
1085// func:amc.FBltin.msghdr.CopyIn
1086void bltin_CopyIn(amc::FBltin &row, amcdb::Bltin &in) __attribute__((nothrow));
1087
1088// Set all fields to initial values.
1089// func:amc.FBltin..Init
1090void FBltin_Init(amc::FBltin& bltin);
1091// func:amc.FBltin..Uninit
1092void FBltin_Uninit(amc::FBltin& bltin) __attribute__((nothrow));
1093
1094// --- amc.FCafter
1095// create: amc.FDb.cafter (Lary)
1096// access: amc.FCtype.zd_cafter (Llist)
1097struct FCafter { // amc.FCafter
1098 algo::Smallstr50 cafter; //
1099 amc::FCtype* p_after; // reference to parent row
1100 amc::FCafter* zd_cafter_next; // zslist link; -1 means not-in-list
1101 amc::FCafter* zd_cafter_prev; // previous element
1102private:
1103 friend amc::FCafter& cafter_Alloc() __attribute__((__warn_unused_result__, nothrow));
1104 friend amc::FCafter* cafter_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1105 friend void cafter_RemoveLast() __attribute__((nothrow));
1106 FCafter();
1107 ~FCafter();
1108 FCafter(const FCafter&){ /*disallow copy constructor */}
1109 void operator =(const FCafter&){ /*disallow direct assignment */}
1110};
1111
1112// Copy fields out of row
1113// func:amc.FCafter.msghdr.CopyOut
1114void cafter_CopyOut(amc::FCafter &row, dmmeta::Cafter &out) __attribute__((nothrow));
1115// Copy fields in to row
1116// func:amc.FCafter.msghdr.CopyIn
1117void cafter_CopyIn(amc::FCafter &row, dmmeta::Cafter &in) __attribute__((nothrow));
1118
1119// func:amc.FCafter.ctype.Get
1120algo::Smallstr100 ctype_Get(amc::FCafter& cafter) __attribute__((__warn_unused_result__, nothrow));
1121
1122// func:amc.FCafter.after.Get
1123algo::Smallstr100 after_Get(amc::FCafter& cafter) __attribute__((__warn_unused_result__, nothrow));
1124
1125// Set all fields to initial values.
1126// func:amc.FCafter..Init
1127void FCafter_Init(amc::FCafter& cafter);
1128// func:amc.FCafter..Uninit
1129void FCafter_Uninit(amc::FCafter& cafter) __attribute__((nothrow));
1130
1131// --- amc.FCascdel
1132// create: amc.FDb.cascdel (Lary)
1133// access: amc.FField.c_cascdel (Ptr)
1134struct FCascdel { // amc.FCascdel
1135 algo::Smallstr100 field; //
1136 amc::FField* p_field; // reference to parent row
1137private:
1138 friend amc::FCascdel& cascdel_Alloc() __attribute__((__warn_unused_result__, nothrow));
1139 friend amc::FCascdel* cascdel_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1140 friend void cascdel_RemoveLast() __attribute__((nothrow));
1141 FCascdel();
1142 ~FCascdel();
1143 FCascdel(const FCascdel&){ /*disallow copy constructor */}
1144 void operator =(const FCascdel&){ /*disallow direct assignment */}
1145};
1146
1147// Copy fields out of row
1148// func:amc.FCascdel.msghdr.CopyOut
1149void cascdel_CopyOut(amc::FCascdel &row, dmmeta::Cascdel &out) __attribute__((nothrow));
1150// Copy fields in to row
1151// func:amc.FCascdel.msghdr.CopyIn
1152void cascdel_CopyIn(amc::FCascdel &row, dmmeta::Cascdel &in) __attribute__((nothrow));
1153
1154// Set all fields to initial values.
1155// func:amc.FCascdel..Init
1156void FCascdel_Init(amc::FCascdel& cascdel);
1157// func:amc.FCascdel..Uninit
1158void FCascdel_Uninit(amc::FCascdel& cascdel) __attribute__((nothrow));
1159
1160// --- amc.FCcmp
1161// create: amc.FDb.ccmp (Lary)
1162// global access: ind_ccmp (Thash)
1163// access: amc.FCtype.c_ccmp (Ptr)
1164struct FCcmp { // amc.FCcmp
1165 algo::Smallstr100 ctype; // Target ctype
1166 bool extrn; // false Whether implementation is external
1167 bool genop; // false Generate C++ comparison operators (<,>, etc)
1168 bool order; // false
1169 bool minmax; // false
1170 amc::FCcmp* ind_ccmp_next; // hash next
1171private:
1172 friend amc::FCcmp& ccmp_Alloc() __attribute__((__warn_unused_result__, nothrow));
1173 friend amc::FCcmp* ccmp_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1174 friend void ccmp_RemoveLast() __attribute__((nothrow));
1175 FCcmp();
1176 ~FCcmp();
1177 FCcmp(const FCcmp&){ /*disallow copy constructor */}
1178 void operator =(const FCcmp&){ /*disallow direct assignment */}
1179};
1180
1181// Copy fields out of row
1182// func:amc.FCcmp.msghdr.CopyOut
1183void ccmp_CopyOut(amc::FCcmp &row, dmmeta::Ccmp &out) __attribute__((nothrow));
1184// Copy fields in to row
1185// func:amc.FCcmp.msghdr.CopyIn
1186void ccmp_CopyIn(amc::FCcmp &row, dmmeta::Ccmp &in) __attribute__((nothrow));
1187
1188// Set all fields to initial values.
1189// func:amc.FCcmp..Init
1190void FCcmp_Init(amc::FCcmp& ccmp);
1191// func:amc.FCcmp..Uninit
1192void FCcmp_Uninit(amc::FCcmp& ccmp) __attribute__((nothrow));
1193
1194// --- amc.FCdflt
1195// create: amc.FDb.cdflt (Lary)
1196// access: amc.FCtype.c_cdflt (Ptr)
1197struct FCdflt { // amc.FCdflt
1198 algo::Smallstr100 ctype; //
1199 algo::CppExpr dflt; //
1200 algo::CppExpr cppdflt; //
1201 algo::Smallstr50 ssimdflt; //
1202 algo::Smallstr50 jsdflt; //
1203 algo::Comment comment; //
1204private:
1205 friend amc::FCdflt& cdflt_Alloc() __attribute__((__warn_unused_result__, nothrow));
1206 friend amc::FCdflt* cdflt_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1207 friend void cdflt_RemoveLast() __attribute__((nothrow));
1208 FCdflt();
1209 ~FCdflt();
1210 FCdflt(const FCdflt&){ /*disallow copy constructor */}
1211 void operator =(const FCdflt&){ /*disallow direct assignment */}
1212};
1213
1214// Copy fields out of row
1215// func:amc.FCdflt.base.CopyOut
1216void cdflt_CopyOut(amc::FCdflt &row, dmmeta::Cdflt &out) __attribute__((nothrow));
1217// Copy fields in to row
1218// func:amc.FCdflt.base.CopyIn
1219void cdflt_CopyIn(amc::FCdflt &row, dmmeta::Cdflt &in) __attribute__((nothrow));
1220
1221// func:amc.FCdflt..Uninit
1222void FCdflt_Uninit(amc::FCdflt& cdflt) __attribute__((nothrow));
1223
1224// --- amc.FCextern
1225// create: amc.FDb.cextern (Lary)
1226// access: amc.FCtype.c_cextern (Ptr)
1227struct FCextern { // amc.FCextern
1228 algo::Smallstr100 ctype; // Ctype in question
1229 bool initmemset; // false Initialize using memset? (set this to Y for all C structs)
1230 bool isstruct; // false
1231 bool plaindata; // false
1232private:
1233 friend amc::FCextern& cextern_Alloc() __attribute__((__warn_unused_result__, nothrow));
1234 friend amc::FCextern* cextern_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1235 friend void cextern_RemoveLast() __attribute__((nothrow));
1236 FCextern();
1237 ~FCextern();
1238 FCextern(const FCextern&){ /*disallow copy constructor */}
1239 void operator =(const FCextern&){ /*disallow direct assignment */}
1240};
1241
1242// Copy fields out of row
1243// func:amc.FCextern.msghdr.CopyOut
1244void cextern_CopyOut(amc::FCextern &row, dmmeta::Cextern &out) __attribute__((nothrow));
1245// Copy fields in to row
1246// func:amc.FCextern.msghdr.CopyIn
1247void cextern_CopyIn(amc::FCextern &row, dmmeta::Cextern &in) __attribute__((nothrow));
1248
1249// Set all fields to initial values.
1250// func:amc.FCextern..Init
1251void FCextern_Init(amc::FCextern& cextern);
1252// func:amc.FCextern..Uninit
1253void FCextern_Uninit(amc::FCextern& cextern) __attribute__((nothrow));
1254
1255// --- amc.FCfast
1256// create: amc.FDb.cfast (Lary)
1257// access: amc.FCtype.c_cfast (Ptr)
1258struct FCfast { // amc.FCfast
1259 algo::Smallstr100 ctype; //
1260 u32 id; // 0
1261 algo::Smallstr50 encoding; //
1262 bool reset; // false
1263 algo::Comment comment; //
1264private:
1265 friend amc::FCfast& cfast_Alloc() __attribute__((__warn_unused_result__, nothrow));
1266 friend amc::FCfast* cfast_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1267 friend void cfast_RemoveAll() __attribute__((nothrow));
1268 friend void cfast_RemoveLast() __attribute__((nothrow));
1269 FCfast();
1270 ~FCfast();
1271 FCfast(const FCfast&){ /*disallow copy constructor */}
1272 void operator =(const FCfast&){ /*disallow direct assignment */}
1273};
1274
1275// Copy fields out of row
1276// func:amc.FCfast.base.CopyOut
1277void cfast_CopyOut(amc::FCfast &row, dmmeta::Cfast &out) __attribute__((nothrow));
1278// Copy fields in to row
1279// func:amc.FCfast.base.CopyIn
1280void cfast_CopyIn(amc::FCfast &row, dmmeta::Cfast &in) __attribute__((nothrow));
1281
1282// Set all fields to initial values.
1283// func:amc.FCfast..Init
1284void FCfast_Init(amc::FCfast& cfast);
1285// func:amc.FCfast..Uninit
1286void FCfast_Uninit(amc::FCfast& cfast) __attribute__((nothrow));
1287
1288// --- amc.FCfmt
1289// create: amc.FDb.cfmt (Lary)
1290// global access: ind_cfmt (Thash)
1291// access: amc.FCtype.zs_cfmt (Llist)
1292struct FCfmt { // amc.FCfmt
1293 algo::Smallstr100 cfmt; //
1294 algo::Smallstr50 printfmt; //
1295 bool read; // false
1296 bool print; // false
1297 algo::Smallstr20 sep; //
1298 bool genop; // false
1299 amc::FCfmt* zs_cfmt_next; // zslist link; -1 means not-in-list
1300 amc::FCfmt* ind_cfmt_next; // hash next
1301private:
1302 friend amc::FCfmt& cfmt_Alloc() __attribute__((__warn_unused_result__, nothrow));
1303 friend amc::FCfmt* cfmt_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1304 friend void cfmt_RemoveLast() __attribute__((nothrow));
1305 FCfmt();
1306 ~FCfmt();
1307 FCfmt(const FCfmt&){ /*disallow copy constructor */}
1308 void operator =(const FCfmt&){ /*disallow direct assignment */}
1309};
1310
1311// Copy fields out of row
1312// func:amc.FCfmt.msghdr.CopyOut
1313void cfmt_CopyOut(amc::FCfmt &row, dmmeta::Cfmt &out) __attribute__((nothrow));
1314// Copy fields in to row
1315// func:amc.FCfmt.msghdr.CopyIn
1316void cfmt_CopyIn(amc::FCfmt &row, dmmeta::Cfmt &in) __attribute__((nothrow));
1317
1318// func:amc.FCfmt.ctype.Get
1319algo::Smallstr100 ctype_Get(amc::FCfmt& cfmt) __attribute__((__warn_unused_result__, nothrow));
1320
1321// func:amc.FCfmt.strfmt.Get
1322algo::Smallstr50 strfmt_Get(amc::FCfmt& cfmt) __attribute__((__warn_unused_result__, nothrow));
1323
1324// Set all fields to initial values.
1325// func:amc.FCfmt..Init
1326void FCfmt_Init(amc::FCfmt& cfmt);
1327// func:amc.FCfmt..Uninit
1328void FCfmt_Uninit(amc::FCfmt& cfmt) __attribute__((nothrow));
1329
1330// --- amc.FCget
1331// create: amc.FDb.cget (Lary)
1332struct FCget { // amc.FCget
1333 algo::Smallstr100 ctype; //
1334 algo::Comment comment; //
1335 amc::FCtype* p_ctype; // reference to parent row
1336private:
1337 friend amc::FCget& cget_Alloc() __attribute__((__warn_unused_result__, nothrow));
1338 friend amc::FCget* cget_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1339 friend void cget_RemoveLast() __attribute__((nothrow));
1340 FCget();
1341 // x-reference on amc.FCget.p_ctype prevents copy
1342 FCget(const FCget&){ /*disallow copy constructor */}
1343 void operator =(const FCget&){ /*disallow direct assignment */}
1344};
1345
1346// Copy fields out of row
1347// func:amc.FCget.base.CopyOut
1348void cget_CopyOut(amc::FCget &row, dmmeta::Cget &out) __attribute__((nothrow));
1349// Copy fields in to row
1350// func:amc.FCget.base.CopyIn
1351void cget_CopyIn(amc::FCget &row, dmmeta::Cget &in) __attribute__((nothrow));
1352
1353// Set all fields to initial values.
1354// func:amc.FCget..Init
1355void FCget_Init(amc::FCget& cget);
1356
1357// --- amc.FCharset
1358// create: amc.FDb.charset (Lary)
1359// access: amc.FField.c_charset (Ptr)
1360struct FCharset { // amc.FCharset
1361 algo::Smallstr100 field; //
1362 algo::Smallstr100 expr; //
1363 bool charrange; // false
1364 bool calc; // false
1365 algo::Comment comment; //
1366 algo::Charset chars; //
1367private:
1368 friend amc::FCharset& charset_Alloc() __attribute__((__warn_unused_result__, nothrow));
1369 friend amc::FCharset* charset_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1370 friend void charset_RemoveAll() __attribute__((nothrow));
1371 friend void charset_RemoveLast() __attribute__((nothrow));
1372 FCharset();
1373 ~FCharset();
1374 FCharset(const FCharset&){ /*disallow copy constructor */}
1375 void operator =(const FCharset&){ /*disallow direct assignment */}
1376};
1377
1378// Copy fields out of row
1379// func:amc.FCharset.base.CopyOut
1380void charset_CopyOut(amc::FCharset &row, dmmeta::Charset &out) __attribute__((nothrow));
1381// Copy fields in to row
1382// func:amc.FCharset.base.CopyIn
1383void charset_CopyIn(amc::FCharset &row, dmmeta::Charset &in) __attribute__((nothrow));
1384
1385// Set all fields to initial values.
1386// func:amc.FCharset..Init
1387void FCharset_Init(amc::FCharset& charset);
1388// func:amc.FCharset..Uninit
1389void FCharset_Uninit(amc::FCharset& charset) __attribute__((nothrow));
1390
1391// --- amc.FChash
1392// create: amc.FDb.chash (Lary)
1393// global access: ind_chash (Thash)
1394// access: amc.FCtype.c_chash (Ptr)
1395struct FChash { // amc.FChash
1396 algo::Smallstr100 ctype; // Target ctype
1397 algo::Smallstr50 hashtype; // Hash type
1398 amc::FChash* ind_chash_next; // hash next
1399private:
1400 friend amc::FChash& chash_Alloc() __attribute__((__warn_unused_result__, nothrow));
1401 friend amc::FChash* chash_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1402 friend void chash_RemoveLast() __attribute__((nothrow));
1403 FChash();
1404 ~FChash();
1405 FChash(const FChash&){ /*disallow copy constructor */}
1406 void operator =(const FChash&){ /*disallow direct assignment */}
1407};
1408
1409// Copy fields out of row
1410// func:amc.FChash.msghdr.CopyOut
1411void chash_CopyOut(amc::FChash &row, dmmeta::Chash &out) __attribute__((nothrow));
1412// Copy fields in to row
1413// func:amc.FChash.msghdr.CopyIn
1414void chash_CopyIn(amc::FChash &row, dmmeta::Chash &in) __attribute__((nothrow));
1415
1416// Set all fields to initial values.
1417// func:amc.FChash..Init
1418void FChash_Init(amc::FChash& chash);
1419// func:amc.FChash..Uninit
1420void FChash_Uninit(amc::FChash& chash) __attribute__((nothrow));
1421
1422// --- amc.FCppfunc
1423// create: amc.FDb.cppfunc (Lary)
1424// access: amc.FField.c_cppfunc (Ptr)
1425struct FCppfunc { // amc.FCppfunc
1426 algo::Smallstr100 field; //
1427 algo::CppExpr expr; //
1428 bool print; // false
1429 bool set; // false
1430private:
1431 friend amc::FCppfunc& cppfunc_Alloc() __attribute__((__warn_unused_result__, nothrow));
1432 friend amc::FCppfunc* cppfunc_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1433 friend void cppfunc_RemoveLast() __attribute__((nothrow));
1434 FCppfunc();
1435 ~FCppfunc();
1436 FCppfunc(const FCppfunc&){ /*disallow copy constructor */}
1437 void operator =(const FCppfunc&){ /*disallow direct assignment */}
1438};
1439
1440// Copy fields out of row
1441// func:amc.FCppfunc.msghdr.CopyOut
1442void cppfunc_CopyOut(amc::FCppfunc &row, dmmeta::Cppfunc &out) __attribute__((nothrow));
1443// Copy fields in to row
1444// func:amc.FCppfunc.msghdr.CopyIn
1445void cppfunc_CopyIn(amc::FCppfunc &row, dmmeta::Cppfunc &in) __attribute__((nothrow));
1446
1447// Set all fields to initial values.
1448// func:amc.FCppfunc..Init
1449void FCppfunc_Init(amc::FCppfunc& cppfunc);
1450// func:amc.FCppfunc..Uninit
1451void FCppfunc_Uninit(amc::FCppfunc& cppfunc) __attribute__((nothrow));
1452
1453// --- amc.FCpptype
1454// create: amc.FDb.cpptype (Lary)
1455// global access: ind_cpptype (Thash)
1456// access: amc.FCtype.c_cpptype (Ptr)
1457struct FCpptype { // amc.FCpptype
1458 algo::Smallstr100 ctype; //
1459 bool ctor; // false if true, generate non-default constructor from all fields
1460 bool dtor; // true generate non-default destructor
1461 bool cheap_copy; // false Pass by value whenever possible
1462 amc::FCtype* p_ctype; // reference to parent row
1463 amc::FCpptype* ind_cpptype_next; // hash next
1464private:
1465 friend amc::FCpptype& cpptype_Alloc() __attribute__((__warn_unused_result__, nothrow));
1466 friend amc::FCpptype* cpptype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1467 friend void cpptype_RemoveLast() __attribute__((nothrow));
1468 FCpptype();
1469 ~FCpptype();
1470 FCpptype(const FCpptype&){ /*disallow copy constructor */}
1471 void operator =(const FCpptype&){ /*disallow direct assignment */}
1472};
1473
1474// Copy fields out of row
1475// func:amc.FCpptype.msghdr.CopyOut
1476void cpptype_CopyOut(amc::FCpptype &row, dmmeta::Cpptype &out) __attribute__((nothrow));
1477// Copy fields in to row
1478// func:amc.FCpptype.msghdr.CopyIn
1479void cpptype_CopyIn(amc::FCpptype &row, dmmeta::Cpptype &in) __attribute__((nothrow));
1480
1481// Set all fields to initial values.
1482// func:amc.FCpptype..Init
1483void FCpptype_Init(amc::FCpptype& cpptype);
1484// func:amc.FCpptype..Uninit
1485void FCpptype_Uninit(amc::FCpptype& cpptype) __attribute__((nothrow));
1486
1487// --- amc.FCsize
1488// create: amc.FDb.csize (Lary)
1489// access: amc.FCtype.c_csize (Ptr)
1490struct FCsize { // amc.FCsize
1491 algo::Smallstr100 ctype; //
1492 u32 size; // 0
1493 u32 alignment; // 1
1494private:
1495 friend amc::FCsize& csize_Alloc() __attribute__((__warn_unused_result__, nothrow));
1496 friend amc::FCsize* csize_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1497 friend void csize_RemoveLast() __attribute__((nothrow));
1498 FCsize();
1499 ~FCsize();
1500 FCsize(const FCsize&){ /*disallow copy constructor */}
1501 void operator =(const FCsize&){ /*disallow direct assignment */}
1502};
1503
1504// Copy fields out of row
1505// func:amc.FCsize.msghdr.CopyOut
1506void csize_CopyOut(amc::FCsize &row, dmmeta::Csize &out) __attribute__((nothrow));
1507// Copy fields in to row
1508// func:amc.FCsize.msghdr.CopyIn
1509void csize_CopyIn(amc::FCsize &row, dmmeta::Csize &in) __attribute__((nothrow));
1510
1511// Set all fields to initial values.
1512// func:amc.FCsize..Init
1513void FCsize_Init(amc::FCsize& csize);
1514// func:amc.FCsize..Uninit
1515void FCsize_Uninit(amc::FCsize& csize) __attribute__((nothrow));
1516
1517// --- amc.FCstr
1518// create: amc.FDb.cstr (Lary)
1519// access: amc.FCtype.c_cstr (Ptr)
1520struct FCstr { // amc.FCstr
1521 algo::Smallstr100 ctype; //
1522 bool strequiv; // false Use strptr instead of this type when possible
1523private:
1524 friend amc::FCstr& cstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
1525 friend amc::FCstr* cstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1526 friend void cstr_RemoveLast() __attribute__((nothrow));
1527 FCstr();
1528 ~FCstr();
1529 FCstr(const FCstr&){ /*disallow copy constructor */}
1530 void operator =(const FCstr&){ /*disallow direct assignment */}
1531};
1532
1533// Copy fields out of row
1534// func:amc.FCstr.msghdr.CopyOut
1535void cstr_CopyOut(amc::FCstr &row, dmmeta::Cstr &out) __attribute__((nothrow));
1536// Copy fields in to row
1537// func:amc.FCstr.msghdr.CopyIn
1538void cstr_CopyIn(amc::FCstr &row, dmmeta::Cstr &in) __attribute__((nothrow));
1539
1540// Set all fields to initial values.
1541// func:amc.FCstr..Init
1542void FCstr_Init(amc::FCstr& cstr);
1543// func:amc.FCstr..Uninit
1544void FCstr_Uninit(amc::FCstr& cstr) __attribute__((nothrow));
1545
1546// --- amc.FCtype
1547// create: amc.FDb.ctype (Lary)
1548// global access: ind_ctype (Thash)
1549// global access: c_ctype_sorted (Ptrary)
1550// global access: zsl_ctype_pack_tran (Llist)
1551// global access: zs_sig_visit (Llist)
1552// global access: c_u64 (Ptr)
1553// access: amc.FCafter.p_after (Upptr)
1554// access: amc.FCget.p_ctype (Upptr)
1555// access: amc.FCpptype.p_ctype (Upptr)
1556// access: amc.FCtype.c_parent (Ptrary)
1557// access: amc.FDispatch.p_ctype_hdr (Upptr)
1558// access: amc.FDispatch.p_casetype (Upptr)
1559// access: amc.FDispatchmsg.p_ctype (Upptr)
1560// access: amc.FDispctx.p_ctype (Upptr)
1561// access: amc.FField.p_ctype (Upptr)
1562// access: amc.FField.p_arg (Upptr)
1563// access: amc.FGsymbol.p_symboltype (Upptr)
1564// access: amc.FHook.p_funcptr (Upptr)
1565// access: amc.FMsgtype.p_ctype (Upptr)
1566// access: amc.FNs.c_ctype (Ptrary)
1567// access: amc.FNumstr.p_numtype (Upptr)
1568// access: amc.FPack.p_ctype (Upptr)
1569// access: amc.FPnew.p_ctype (Upptr)
1570// access: amc.FSsimfile.p_ctype (Upptr)
1571// access: amc.FTypefld.p_ctype (Upptr)
1572// access: amc.FXref.p_ctype (Upptr)
1573// access: amc.Genctx.p_ctype (Upptr)
1574// access: amc.Genpnew.p_ctype (Upptr)
1575struct FCtype { // amc.FCtype
1576 algo::Smallstr100 ctype; // Identifier. must be ns.typename
1577 algo::Comment comment; //
1578 amc::FCfmt* zs_cfmt_head; // zero-terminated singly linked list
1579 amc::FCfmt* zs_cfmt_tail; // pointer to last element
1580 algo::cstring cpp_type; // type name to use in c++
1581 algo::cstring body; // Struct contents
1582 algo::cstring sizecheck; // Size check assertions
1583 amc::FFunc* c_init; // Pointer to constructor. optional pointer
1584 amc::FNs* p_ns; // reference to parent row
1585 amc::FBltin* c_bltin; // optional pointer
1586 amc::FField** c_field_elems; // array of pointers
1587 u32 c_field_n; // array of pointers
1588 u32 c_field_max; // capacity of allocated array
1589 amc::FMsgtype* c_msgtype; // optional pointer
1590 amc::FField* c_varlenfld; // optional pointer
1591 amc::FField* c_optfld; // optional pointer
1592 amc::FStatictuple** c_static_elems; // array of pointers
1593 u32 c_static_n; // array of pointers
1594 u32 c_static_max; // capacity of allocated array
1595 amc::FCpptype* c_cpptype; // optional pointer
1596 amc::FCtype** c_parent_elems; // array of pointers
1597 u32 c_parent_n; // array of pointers
1598 u32 c_parent_max; // capacity of allocated array
1599 amc::FSsimfile* c_ssimfile; // Ssimfile associated with this ctype. optional pointer
1600 amc::FPack* c_pack; // optional pointer
1601 amc::FLenfld* c_lenfld; // optional pointer
1602 amc::FPmaskfld** c_pmaskfld_elems; // array of pointers
1603 u32 c_pmaskfld_n; // array of pointers
1604 u32 c_pmaskfld_max; // capacity of allocated array
1605 amc::FTypefld* c_typefld; // optional pointer
1606 amc::FField** c_datafld_elems; // array of pointers
1607 u32 c_datafld_n; // array of pointers
1608 u32 c_datafld_max; // capacity of allocated array
1609 amc::FField* zd_inst_head; // zero-terminated doubly linked list
1610 i32 zd_inst_n; // zero-terminated doubly linked list
1611 amc::FField* zd_inst_tail; // pointer to last element
1612 amc::FXref* zs_xref_head; // zero-terminated singly linked list
1613 i32 zs_xref_n; // zero-terminated singly linked list
1614 amc::FXref* zs_xref_tail; // pointer to last element
1615 amc::FChash* c_chash; // optional pointer
1616 amc::FCcmp* c_ccmp; // optional pointer
1617 amc::FCstr* c_cstr; // optional pointer
1618 amc::FCextern* c_cextern; // optional pointer
1619 algo::Sha1sig signature; //
1620 amc::FFunc** c_ffunc_elems; // array of pointers
1621 u32 c_ffunc_n; // array of pointers
1622 u32 c_ffunc_max; // capacity of allocated array
1623 amc::FCafter* zd_cafter_head; // zero-terminated doubly linked list
1624 i32 zd_cafter_n; // zero-terminated doubly linked list
1625 amc::FCafter* zd_cafter_tail; // pointer to last element
1626 amc::FCsize* c_csize; // optional pointer
1627 amc::FField* zd_access_head; // zero-terminated doubly linked list
1628 i32 zd_access_n; // zero-terminated doubly linked list
1629 amc::FField* zd_access_tail; // pointer to last element
1630 amc::FCdflt* c_cdflt; // optional pointer
1631 amc::FArgvtype* c_argvtype; // optional pointer
1632 amc::FFloadtuples* c_floadtuples; // optional pointer
1633 amc::FField* c_pkeyfield; // Field corresponding to pkey of this type. optional pointer
1634 amc::FFcurs** c_fcurs_elems; // array of pointers
1635 u32 c_fcurs_n; // array of pointers
1636 u32 c_fcurs_max; // capacity of allocated array
1637 algo::cstring copy_priv_reason; //
1638 amc::FCtypelen* c_ctypelen; // optional pointer
1639 bool copy_priv_valid; // false
1640 bool size_unknown; // false
1641 bool size_locked; // false
1642 bool topo_visited; // false Temporary
1643 bool enum_visited; // false Temporary
1644 bool copy_priv; // false disallow copy ctor / assign op
1645 bool fields_cloned; // false True if fields from c_cbase have been cloned.
1646 bool original; // false True if this ctype comes from disk
1647 bool plaindata; // false
1648 u32 alignment; // 1
1649 i32 n_padbytes; // 0
1650 u32 totsize_byte; // 0 Total size in bytes of all fields
1651 i32 n_xref; // 0
1652 i32 next_anon_idx; // 0 sequence to enumerate positional fields
1653 amc::FNossimfile* c_nossimfile; // optional pointer
1654 i32 topo_idx; // 0 Index of ctype in array c_ctype (after topological sort)
1655 amc::FCfast* c_cfast; // optional pointer
1656 amc::FFfast** c_ffast_elems; // array of pointers
1657 u32 c_ffast_n; // array of pointers
1658 u32 c_ffast_max; // capacity of allocated array
1659 bool ns_c_ctype_in_ary; // false membership flag
1660 amc::FCtype* ind_ctype_next; // hash next
1661 amc::FCtype* zsl_ctype_pack_tran_next; // zslist link; -1 means not-in-list
1662 amc::FCtype* zs_sig_visit_next; // zslist link; -1 means not-in-list
1663private:
1664 friend amc::FCtype& ctype_Alloc() __attribute__((__warn_unused_result__, nothrow));
1665 friend amc::FCtype* ctype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
1666 friend void ctype_RemoveLast() __attribute__((nothrow));
1667 FCtype();
1668 ~FCtype();
1669 FCtype(const FCtype&){ /*disallow copy constructor */}
1670 void operator =(const FCtype&){ /*disallow direct assignment */}
1671};
1672
1673// Copy fields out of row
1674// func:amc.FCtype.msghdr.CopyOut
1675void ctype_CopyOut(amc::FCtype &row, dmmeta::Ctype &out) __attribute__((nothrow));
1676// Copy fields in to row
1677// func:amc.FCtype.msghdr.CopyIn
1678void ctype_CopyIn(amc::FCtype &row, dmmeta::Ctype &in) __attribute__((nothrow));
1679
1680// func:amc.FCtype.ns.Get
1681algo::Smallstr16 ns_Get(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow));
1682
1683// func:amc.FCtype.name.Get
1684algo::Smallstr100 name_Get(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow));
1685
1686// Return true if index is empty
1687// func:amc.FCtype.zs_cfmt.EmptyQ
1688bool zs_cfmt_EmptyQ(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
1689// If index empty, return NULL. Otherwise return pointer to first element in index
1690// func:amc.FCtype.zs_cfmt.First
1691amc::FCfmt* zs_cfmt_First(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
1692// Return true if row is in the linked list, false otherwise
1693// func:amc.FCtype.zs_cfmt.InLlistQ
1694bool zs_cfmt_InLlistQ(amc::FCfmt& row) __attribute__((__warn_unused_result__, nothrow));
1695// Insert row into linked list. If row is already in linked list, do nothing.
1696// func:amc.FCtype.zs_cfmt.Insert
1697void zs_cfmt_Insert(amc::FCtype& ctype, amc::FCfmt& row) __attribute__((nothrow));
1698// If index empty, return NULL. Otherwise return pointer to last element in index
1699// func:amc.FCtype.zs_cfmt.Last
1700amc::FCfmt* zs_cfmt_Last(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
1701// Return pointer to next element in the list
1702// func:amc.FCtype.zs_cfmt.Next
1703amc::FCfmt* zs_cfmt_Next(amc::FCfmt &row) __attribute__((__warn_unused_result__, nothrow));
1704// Remove element from index. If element is not in index, do nothing.
1705// Since the list is singly-linked, use linear search to locate the element.
1706// func:amc.FCtype.zs_cfmt.Remove
1707void zs_cfmt_Remove(amc::FCtype& ctype, amc::FCfmt& row) __attribute__((nothrow));
1708// Empty the index. (The rows are not deleted)
1709// func:amc.FCtype.zs_cfmt.RemoveAll
1710void zs_cfmt_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
1711// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
1712// func:amc.FCtype.zs_cfmt.RemoveFirst
1713amc::FCfmt* zs_cfmt_RemoveFirst(amc::FCtype& ctype) __attribute__((nothrow));
1714// Return reference to last element in the index. No bounds checking.
1715// func:amc.FCtype.zs_cfmt.qLast
1716amc::FCfmt& zs_cfmt_qLast(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow));
1717
1718// Insert row into pointer index. Return final membership status.
1719// func:amc.FCtype.c_bltin.InsertMaybe
1720bool c_bltin_InsertMaybe(amc::FCtype& ctype, amc::FBltin& row) __attribute__((nothrow));
1721// Remove element from index. If element is not in index, do nothing.
1722// func:amc.FCtype.c_bltin.Remove
1723void c_bltin_Remove(amc::FCtype& ctype, amc::FBltin& row) __attribute__((nothrow));
1724
1725// Return true if index is empty
1726// func:amc.FCtype.c_field.EmptyQ
1727bool c_field_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
1728// Look up row by row id. Return NULL if out of range
1729// func:amc.FCtype.c_field.Find
1730amc::FField* c_field_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
1731// Return array of pointers
1732// func:amc.FCtype.c_field.Getary
1733algo::aryptr<amc::FField*> c_field_Getary(amc::FCtype& ctype) __attribute__((nothrow));
1734// Insert pointer to row into array. Row must not already be in array.
1735// If pointer is already in the array, it may be inserted twice.
1736// func:amc.FCtype.c_field.Insert
1737void c_field_Insert(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
1738// Insert pointer to row in array.
1739// If row is already in the array, do nothing.
1740// Linear search is used to locate the element.
1741// Return value: whether element was inserted into array.
1742// func:amc.FCtype.c_field.ScanInsertMaybe
1743bool c_field_ScanInsertMaybe(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
1744// Return number of items in the pointer array
1745// func:amc.FCtype.c_field.N
1746i32 c_field_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
1747// Find element using linear scan. If element is in array, remove, otherwise do nothing
1748// func:amc.FCtype.c_field.Remove
1749void c_field_Remove(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
1750// Empty the index. (The rows are not deleted)
1751// func:amc.FCtype.c_field.RemoveAll
1752void c_field_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
1753// Reserve space in index for N more elements;
1754// func:amc.FCtype.c_field.Reserve
1755void c_field_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
1756// Return reference without bounds checking
1757// func:amc.FCtype.c_field.qFind
1758amc::FField& c_field_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
1759// Reference to last element without bounds checking
1760// func:amc.FCtype.c_field.qLast
1761amc::FField& c_field_qLast(amc::FCtype& ctype) __attribute__((nothrow));
1762// Verify whether array is sorted
1763// func:amc.FCtype.c_field.SortedQ
1764bool c_field_SortedQ(amc::FCtype& ctype) __attribute__((nothrow));
1765// Insertion sort
1766// func:amc.FCtype.c_field.InsertionSort
1767void c_field_InsertionSort(amc::FCtype& ctype) __attribute__((nothrow));
1768// Heap sort
1769// func:amc.FCtype.c_field.HeapSort
1770void c_field_HeapSort(amc::FCtype& ctype) __attribute__((nothrow));
1771// Quick sort
1772// func:amc.FCtype.c_field.QuickSort
1773void c_field_QuickSort(amc::FCtype& ctype) __attribute__((nothrow));
1774
1775// Insert row into pointer index. Return final membership status.
1776// func:amc.FCtype.c_msgtype.InsertMaybe
1777bool c_msgtype_InsertMaybe(amc::FCtype& ctype, amc::FMsgtype& row) __attribute__((nothrow));
1778// Remove element from index. If element is not in index, do nothing.
1779// func:amc.FCtype.c_msgtype.Remove
1780void c_msgtype_Remove(amc::FCtype& ctype, amc::FMsgtype& row) __attribute__((nothrow));
1781
1782// Insert row into pointer index. Return final membership status.
1783// func:amc.FCtype.c_varlenfld.InsertMaybe
1784bool c_varlenfld_InsertMaybe(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
1785// Remove element from index. If element is not in index, do nothing.
1786// func:amc.FCtype.c_varlenfld.Remove
1787void c_varlenfld_Remove(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
1788
1789// Insert row into pointer index. Return final membership status.
1790// func:amc.FCtype.c_optfld.InsertMaybe
1791bool c_optfld_InsertMaybe(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
1792// Remove element from index. If element is not in index, do nothing.
1793// func:amc.FCtype.c_optfld.Remove
1794void c_optfld_Remove(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
1795
1796// Return true if index is empty
1797// func:amc.FCtype.c_static.EmptyQ
1798bool c_static_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
1799// Look up row by row id. Return NULL if out of range
1800// func:amc.FCtype.c_static.Find
1801amc::FStatictuple* c_static_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
1802// Return array of pointers
1803// func:amc.FCtype.c_static.Getary
1804algo::aryptr<amc::FStatictuple*> c_static_Getary(amc::FCtype& ctype) __attribute__((nothrow));
1805// Insert pointer to row into array. Row must not already be in array.
1806// If pointer is already in the array, it may be inserted twice.
1807// func:amc.FCtype.c_static.Insert
1808void c_static_Insert(amc::FCtype& ctype, amc::FStatictuple& row) __attribute__((nothrow));
1809// Insert pointer to row in array.
1810// If row is already in the array, do nothing.
1811// Return value: whether element was inserted into array.
1812// func:amc.FCtype.c_static.InsertMaybe
1813bool c_static_InsertMaybe(amc::FCtype& ctype, amc::FStatictuple& row) __attribute__((nothrow));
1814// Return number of items in the pointer array
1815// func:amc.FCtype.c_static.N
1816i32 c_static_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
1817// Find element using linear scan. If element is in array, remove, otherwise do nothing
1818// func:amc.FCtype.c_static.Remove
1819void c_static_Remove(amc::FCtype& ctype, amc::FStatictuple& row) __attribute__((nothrow));
1820// Empty the index. (The rows are not deleted)
1821// func:amc.FCtype.c_static.RemoveAll
1822void c_static_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
1823// Reserve space in index for N more elements;
1824// func:amc.FCtype.c_static.Reserve
1825void c_static_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
1826// Return reference without bounds checking
1827// func:amc.FCtype.c_static.qFind
1828amc::FStatictuple& c_static_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
1829// True if row is in any ptrary instance
1830// func:amc.FCtype.c_static.InAryQ
1831bool ctype_c_static_InAryQ(amc::FStatictuple& row) __attribute__((nothrow));
1832// Reference to last element without bounds checking
1833// func:amc.FCtype.c_static.qLast
1834amc::FStatictuple& c_static_qLast(amc::FCtype& ctype) __attribute__((nothrow));
1835
1836// Insert row into pointer index. Return final membership status.
1837// func:amc.FCtype.c_cpptype.InsertMaybe
1838bool c_cpptype_InsertMaybe(amc::FCtype& ctype, amc::FCpptype& row) __attribute__((nothrow));
1839// Remove element from index. If element is not in index, do nothing.
1840// func:amc.FCtype.c_cpptype.Remove
1841void c_cpptype_Remove(amc::FCtype& ctype, amc::FCpptype& row) __attribute__((nothrow));
1842
1843// Return true if index is empty
1844// func:amc.FCtype.c_parent.EmptyQ
1845bool c_parent_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
1846// Look up row by row id. Return NULL if out of range
1847// func:amc.FCtype.c_parent.Find
1848amc::FCtype* c_parent_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
1849// Return array of pointers
1850// func:amc.FCtype.c_parent.Getary
1851algo::aryptr<amc::FCtype*> c_parent_Getary(amc::FCtype& ctype) __attribute__((nothrow));
1852// Insert pointer to row into array. Row must not already be in array.
1853// If pointer is already in the array, it may be inserted twice.
1854// func:amc.FCtype.c_parent.Insert
1855void c_parent_Insert(amc::FCtype& ctype, amc::FCtype& row) __attribute__((nothrow));
1856// Insert pointer to row in array.
1857// If row is already in the array, do nothing.
1858// Linear search is used to locate the element.
1859// Return value: whether element was inserted into array.
1860// func:amc.FCtype.c_parent.ScanInsertMaybe
1861bool c_parent_ScanInsertMaybe(amc::FCtype& ctype, amc::FCtype& row) __attribute__((nothrow));
1862// Return number of items in the pointer array
1863// func:amc.FCtype.c_parent.N
1864i32 c_parent_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
1865// Find element using linear scan. If element is in array, remove, otherwise do nothing
1866// func:amc.FCtype.c_parent.Remove
1867void c_parent_Remove(amc::FCtype& ctype, amc::FCtype& row) __attribute__((nothrow));
1868// Empty the index. (The rows are not deleted)
1869// func:amc.FCtype.c_parent.RemoveAll
1870void c_parent_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
1871// Reserve space in index for N more elements;
1872// func:amc.FCtype.c_parent.Reserve
1873void c_parent_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
1874// Return reference without bounds checking
1875// func:amc.FCtype.c_parent.qFind
1876amc::FCtype& c_parent_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
1877// Reference to last element without bounds checking
1878// func:amc.FCtype.c_parent.qLast
1879amc::FCtype& c_parent_qLast(amc::FCtype& ctype) __attribute__((nothrow));
1880
1881// Insert row into pointer index. Return final membership status.
1882// func:amc.FCtype.c_ssimfile.InsertMaybe
1883bool c_ssimfile_InsertMaybe(amc::FCtype& ctype, amc::FSsimfile& row) __attribute__((nothrow));
1884// Remove element from index. If element is not in index, do nothing.
1885// func:amc.FCtype.c_ssimfile.Remove
1886void c_ssimfile_Remove(amc::FCtype& ctype, amc::FSsimfile& row) __attribute__((nothrow));
1887
1888// Insert row into pointer index. Return final membership status.
1889// func:amc.FCtype.c_pack.InsertMaybe
1890bool c_pack_InsertMaybe(amc::FCtype& ctype, amc::FPack& row) __attribute__((nothrow));
1891// Remove element from index. If element is not in index, do nothing.
1892// func:amc.FCtype.c_pack.Remove
1893void c_pack_Remove(amc::FCtype& ctype, amc::FPack& row) __attribute__((nothrow));
1894
1895// Insert row into pointer index. Return final membership status.
1896// func:amc.FCtype.c_lenfld.InsertMaybe
1897bool c_lenfld_InsertMaybe(amc::FCtype& ctype, amc::FLenfld& row) __attribute__((nothrow));
1898// Remove element from index. If element is not in index, do nothing.
1899// func:amc.FCtype.c_lenfld.Remove
1900void c_lenfld_Remove(amc::FCtype& ctype, amc::FLenfld& row) __attribute__((nothrow));
1901
1902// Return true if index is empty
1903// func:amc.FCtype.c_pmaskfld.EmptyQ
1904bool c_pmaskfld_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
1905// Look up row by row id. Return NULL if out of range
1906// func:amc.FCtype.c_pmaskfld.Find
1907amc::FPmaskfld* c_pmaskfld_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
1908// Return array of pointers
1909// func:amc.FCtype.c_pmaskfld.Getary
1910algo::aryptr<amc::FPmaskfld*> c_pmaskfld_Getary(amc::FCtype& ctype) __attribute__((nothrow));
1911// Insert pointer to row into array. Row must not already be in array.
1912// If pointer is already in the array, it may be inserted twice.
1913// func:amc.FCtype.c_pmaskfld.Insert
1914void c_pmaskfld_Insert(amc::FCtype& ctype, amc::FPmaskfld& row) __attribute__((nothrow));
1915// Insert pointer to row in array.
1916// If row is already in the array, do nothing.
1917// Return value: whether element was inserted into array.
1918// func:amc.FCtype.c_pmaskfld.InsertMaybe
1919bool c_pmaskfld_InsertMaybe(amc::FCtype& ctype, amc::FPmaskfld& row) __attribute__((nothrow));
1920// Return number of items in the pointer array
1921// func:amc.FCtype.c_pmaskfld.N
1922i32 c_pmaskfld_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
1923// Find element using linear scan. If element is in array, remove, otherwise do nothing
1924// func:amc.FCtype.c_pmaskfld.Remove
1925void c_pmaskfld_Remove(amc::FCtype& ctype, amc::FPmaskfld& row) __attribute__((nothrow));
1926// Empty the index. (The rows are not deleted)
1927// func:amc.FCtype.c_pmaskfld.RemoveAll
1928void c_pmaskfld_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
1929// Reserve space in index for N more elements;
1930// func:amc.FCtype.c_pmaskfld.Reserve
1931void c_pmaskfld_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
1932// Return reference without bounds checking
1933// func:amc.FCtype.c_pmaskfld.qFind
1934amc::FPmaskfld& c_pmaskfld_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
1935// True if row is in any ptrary instance
1936// func:amc.FCtype.c_pmaskfld.InAryQ
1937bool ctype_c_pmaskfld_InAryQ(amc::FPmaskfld& row) __attribute__((nothrow));
1938// Reference to last element without bounds checking
1939// func:amc.FCtype.c_pmaskfld.qLast
1940amc::FPmaskfld& c_pmaskfld_qLast(amc::FCtype& ctype) __attribute__((nothrow));
1941
1942// Insert row into pointer index. Return final membership status.
1943// func:amc.FCtype.c_typefld.InsertMaybe
1944bool c_typefld_InsertMaybe(amc::FCtype& ctype, amc::FTypefld& row) __attribute__((nothrow));
1945// Remove element from index. If element is not in index, do nothing.
1946// func:amc.FCtype.c_typefld.Remove
1947void c_typefld_Remove(amc::FCtype& ctype, amc::FTypefld& row) __attribute__((nothrow));
1948
1949// Return true if index is empty
1950// func:amc.FCtype.c_datafld.EmptyQ
1951bool c_datafld_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
1952// Look up row by row id. Return NULL if out of range
1953// func:amc.FCtype.c_datafld.Find
1954amc::FField* c_datafld_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
1955// Return array of pointers
1956// func:amc.FCtype.c_datafld.Getary
1957algo::aryptr<amc::FField*> c_datafld_Getary(amc::FCtype& ctype) __attribute__((nothrow));
1958// Insert pointer to row into array. Row must not already be in array.
1959// If pointer is already in the array, it may be inserted twice.
1960// func:amc.FCtype.c_datafld.Insert
1961void c_datafld_Insert(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
1962// Insert pointer to row in array.
1963// If row is already in the array, do nothing.
1964// Return value: whether element was inserted into array.
1965// func:amc.FCtype.c_datafld.InsertMaybe
1966bool c_datafld_InsertMaybe(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
1967// Return number of items in the pointer array
1968// func:amc.FCtype.c_datafld.N
1969i32 c_datafld_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
1970// Find element using linear scan. If element is in array, remove, otherwise do nothing
1971// func:amc.FCtype.c_datafld.Remove
1972void c_datafld_Remove(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
1973// Empty the index. (The rows are not deleted)
1974// func:amc.FCtype.c_datafld.RemoveAll
1975void c_datafld_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
1976// Reserve space in index for N more elements;
1977// func:amc.FCtype.c_datafld.Reserve
1978void c_datafld_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
1979// Return reference without bounds checking
1980// func:amc.FCtype.c_datafld.qFind
1981amc::FField& c_datafld_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
1982// True if row is in any ptrary instance
1983// func:amc.FCtype.c_datafld.InAryQ
1984bool ctype_c_datafld_InAryQ(amc::FField& row) __attribute__((nothrow));
1985// Reference to last element without bounds checking
1986// func:amc.FCtype.c_datafld.qLast
1987amc::FField& c_datafld_qLast(amc::FCtype& ctype) __attribute__((nothrow));
1988
1989// Return true if index is empty
1990// func:amc.FCtype.zd_inst.EmptyQ
1991bool zd_inst_EmptyQ(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
1992// If index empty, return NULL. Otherwise return pointer to first element in index
1993// func:amc.FCtype.zd_inst.First
1994amc::FField* zd_inst_First(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
1995// Return true if row is in the linked list, false otherwise
1996// func:amc.FCtype.zd_inst.InLlistQ
1997bool zd_inst_InLlistQ(amc::FField& row) __attribute__((__warn_unused_result__, nothrow));
1998// Insert row into linked list. If row is already in linked list, do nothing.
1999// func:amc.FCtype.zd_inst.Insert
2000void zd_inst_Insert(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
2001// If index empty, return NULL. Otherwise return pointer to last element in index
2002// func:amc.FCtype.zd_inst.Last
2003amc::FField* zd_inst_Last(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2004// Return number of items in the linked list
2005// func:amc.FCtype.zd_inst.N
2006i32 zd_inst_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2007// Return pointer to next element in the list
2008// func:amc.FCtype.zd_inst.Next
2009amc::FField* zd_inst_Next(amc::FField &row) __attribute__((__warn_unused_result__, nothrow));
2010// Return pointer to previous element in the list
2011// func:amc.FCtype.zd_inst.Prev
2012amc::FField* zd_inst_Prev(amc::FField &row) __attribute__((__warn_unused_result__, nothrow));
2013// Remove element from index. If element is not in index, do nothing.
2014// func:amc.FCtype.zd_inst.Remove
2015void zd_inst_Remove(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
2016// Empty the index. (The rows are not deleted)
2017// func:amc.FCtype.zd_inst.RemoveAll
2018void zd_inst_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
2019// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
2020// func:amc.FCtype.zd_inst.RemoveFirst
2021amc::FField* zd_inst_RemoveFirst(amc::FCtype& ctype) __attribute__((nothrow));
2022// Return reference to last element in the index. No bounds checking.
2023// func:amc.FCtype.zd_inst.qLast
2024amc::FField& zd_inst_qLast(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow));
2025
2026// Return true if index is empty
2027// func:amc.FCtype.zs_xref.EmptyQ
2028bool zs_xref_EmptyQ(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2029// If index empty, return NULL. Otherwise return pointer to first element in index
2030// func:amc.FCtype.zs_xref.First
2031amc::FXref* zs_xref_First(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2032// Return true if row is in the linked list, false otherwise
2033// func:amc.FCtype.zs_xref.InLlistQ
2034bool zs_xref_InLlistQ(amc::FXref& row) __attribute__((__warn_unused_result__, nothrow));
2035// Insert row into linked list. If row is already in linked list, do nothing.
2036// func:amc.FCtype.zs_xref.Insert
2037void zs_xref_Insert(amc::FCtype& ctype, amc::FXref& row) __attribute__((nothrow));
2038// If index empty, return NULL. Otherwise return pointer to last element in index
2039// func:amc.FCtype.zs_xref.Last
2040amc::FXref* zs_xref_Last(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2041// Return number of items in the linked list
2042// func:amc.FCtype.zs_xref.N
2043i32 zs_xref_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2044// Return pointer to next element in the list
2045// func:amc.FCtype.zs_xref.Next
2046amc::FXref* zs_xref_Next(amc::FXref &row) __attribute__((__warn_unused_result__, nothrow));
2047// Remove element from index. If element is not in index, do nothing.
2048// Since the list is singly-linked, use linear search to locate the element.
2049// func:amc.FCtype.zs_xref.Remove
2050void zs_xref_Remove(amc::FCtype& ctype, amc::FXref& row) __attribute__((nothrow));
2051// Empty the index. (The rows are not deleted)
2052// func:amc.FCtype.zs_xref.RemoveAll
2053void zs_xref_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
2054// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
2055// func:amc.FCtype.zs_xref.RemoveFirst
2056amc::FXref* zs_xref_RemoveFirst(amc::FCtype& ctype) __attribute__((nothrow));
2057// Return reference to last element in the index. No bounds checking.
2058// func:amc.FCtype.zs_xref.qLast
2059amc::FXref& zs_xref_qLast(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow));
2060
2061// Insert row into pointer index. Return final membership status.
2062// func:amc.FCtype.c_chash.InsertMaybe
2063bool c_chash_InsertMaybe(amc::FCtype& ctype, amc::FChash& row) __attribute__((nothrow));
2064// Remove element from index. If element is not in index, do nothing.
2065// func:amc.FCtype.c_chash.Remove
2066void c_chash_Remove(amc::FCtype& ctype, amc::FChash& row) __attribute__((nothrow));
2067
2068// Insert row into pointer index. Return final membership status.
2069// func:amc.FCtype.c_ccmp.InsertMaybe
2070bool c_ccmp_InsertMaybe(amc::FCtype& ctype, amc::FCcmp& row) __attribute__((nothrow));
2071// Remove element from index. If element is not in index, do nothing.
2072// func:amc.FCtype.c_ccmp.Remove
2073void c_ccmp_Remove(amc::FCtype& ctype, amc::FCcmp& row) __attribute__((nothrow));
2074
2075// Insert row into pointer index. Return final membership status.
2076// func:amc.FCtype.c_cstr.InsertMaybe
2077bool c_cstr_InsertMaybe(amc::FCtype& ctype, amc::FCstr& row) __attribute__((nothrow));
2078// Remove element from index. If element is not in index, do nothing.
2079// func:amc.FCtype.c_cstr.Remove
2080void c_cstr_Remove(amc::FCtype& ctype, amc::FCstr& row) __attribute__((nothrow));
2081
2082// Insert row into pointer index. Return final membership status.
2083// func:amc.FCtype.c_cextern.InsertMaybe
2084bool c_cextern_InsertMaybe(amc::FCtype& ctype, amc::FCextern& row) __attribute__((nothrow));
2085// Remove element from index. If element is not in index, do nothing.
2086// func:amc.FCtype.c_cextern.Remove
2087void c_cextern_Remove(amc::FCtype& ctype, amc::FCextern& row) __attribute__((nothrow));
2088
2089// Return true if index is empty
2090// func:amc.FCtype.c_ffunc.EmptyQ
2091bool c_ffunc_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
2092// Look up row by row id. Return NULL if out of range
2093// func:amc.FCtype.c_ffunc.Find
2094amc::FFunc* c_ffunc_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
2095// Return array of pointers
2096// func:amc.FCtype.c_ffunc.Getary
2097algo::aryptr<amc::FFunc*> c_ffunc_Getary(amc::FCtype& ctype) __attribute__((nothrow));
2098// Insert pointer to row into array. Row must not already be in array.
2099// If pointer is already in the array, it may be inserted twice.
2100// func:amc.FCtype.c_ffunc.Insert
2101void c_ffunc_Insert(amc::FCtype& ctype, amc::FFunc& row) __attribute__((nothrow));
2102// Insert pointer to row in array.
2103// If row is already in the array, do nothing.
2104// Linear search is used to locate the element.
2105// Return value: whether element was inserted into array.
2106// func:amc.FCtype.c_ffunc.ScanInsertMaybe
2107bool c_ffunc_ScanInsertMaybe(amc::FCtype& ctype, amc::FFunc& row) __attribute__((nothrow));
2108// Return number of items in the pointer array
2109// func:amc.FCtype.c_ffunc.N
2110i32 c_ffunc_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2111// Find element using linear scan. If element is in array, remove, otherwise do nothing
2112// func:amc.FCtype.c_ffunc.Remove
2113void c_ffunc_Remove(amc::FCtype& ctype, amc::FFunc& row) __attribute__((nothrow));
2114// Empty the index. (The rows are not deleted)
2115// func:amc.FCtype.c_ffunc.RemoveAll
2116void c_ffunc_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
2117// Reserve space in index for N more elements;
2118// func:amc.FCtype.c_ffunc.Reserve
2119void c_ffunc_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
2120// Return reference without bounds checking
2121// func:amc.FCtype.c_ffunc.qFind
2122amc::FFunc& c_ffunc_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
2123// Reference to last element without bounds checking
2124// func:amc.FCtype.c_ffunc.qLast
2125amc::FFunc& c_ffunc_qLast(amc::FCtype& ctype) __attribute__((nothrow));
2126
2127// Return true if index is empty
2128// func:amc.FCtype.zd_cafter.EmptyQ
2129bool zd_cafter_EmptyQ(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2130// If index empty, return NULL. Otherwise return pointer to first element in index
2131// func:amc.FCtype.zd_cafter.First
2132amc::FCafter* zd_cafter_First(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2133// Return true if row is in the linked list, false otherwise
2134// func:amc.FCtype.zd_cafter.InLlistQ
2135bool zd_cafter_InLlistQ(amc::FCafter& row) __attribute__((__warn_unused_result__, nothrow));
2136// Insert row into linked list. If row is already in linked list, do nothing.
2137// func:amc.FCtype.zd_cafter.Insert
2138void zd_cafter_Insert(amc::FCtype& ctype, amc::FCafter& row) __attribute__((nothrow));
2139// If index empty, return NULL. Otherwise return pointer to last element in index
2140// func:amc.FCtype.zd_cafter.Last
2141amc::FCafter* zd_cafter_Last(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2142// Return number of items in the linked list
2143// func:amc.FCtype.zd_cafter.N
2144i32 zd_cafter_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2145// Return pointer to next element in the list
2146// func:amc.FCtype.zd_cafter.Next
2147amc::FCafter* zd_cafter_Next(amc::FCafter &row) __attribute__((__warn_unused_result__, nothrow));
2148// Return pointer to previous element in the list
2149// func:amc.FCtype.zd_cafter.Prev
2150amc::FCafter* zd_cafter_Prev(amc::FCafter &row) __attribute__((__warn_unused_result__, nothrow));
2151// Remove element from index. If element is not in index, do nothing.
2152// func:amc.FCtype.zd_cafter.Remove
2153void zd_cafter_Remove(amc::FCtype& ctype, amc::FCafter& row) __attribute__((nothrow));
2154// Empty the index. (The rows are not deleted)
2155// func:amc.FCtype.zd_cafter.RemoveAll
2156void zd_cafter_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
2157// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
2158// func:amc.FCtype.zd_cafter.RemoveFirst
2159amc::FCafter* zd_cafter_RemoveFirst(amc::FCtype& ctype) __attribute__((nothrow));
2160// Return reference to last element in the index. No bounds checking.
2161// func:amc.FCtype.zd_cafter.qLast
2162amc::FCafter& zd_cafter_qLast(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow));
2163
2164// Insert row into pointer index. Return final membership status.
2165// func:amc.FCtype.c_csize.InsertMaybe
2166bool c_csize_InsertMaybe(amc::FCtype& ctype, amc::FCsize& row) __attribute__((nothrow));
2167// Remove element from index. If element is not in index, do nothing.
2168// func:amc.FCtype.c_csize.Remove
2169void c_csize_Remove(amc::FCtype& ctype, amc::FCsize& row) __attribute__((nothrow));
2170
2171// Return true if index is empty
2172// func:amc.FCtype.zd_access.EmptyQ
2173bool zd_access_EmptyQ(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2174// If index empty, return NULL. Otherwise return pointer to first element in index
2175// func:amc.FCtype.zd_access.First
2176amc::FField* zd_access_First(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2177// Return true if row is in the linked list, false otherwise
2178// func:amc.FCtype.zd_access.InLlistQ
2179bool zd_access_InLlistQ(amc::FField& row) __attribute__((__warn_unused_result__, nothrow));
2180// Insert row into linked list. If row is already in linked list, do nothing.
2181// func:amc.FCtype.zd_access.Insert
2182void zd_access_Insert(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
2183// If index empty, return NULL. Otherwise return pointer to last element in index
2184// func:amc.FCtype.zd_access.Last
2185amc::FField* zd_access_Last(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2186// Return number of items in the linked list
2187// func:amc.FCtype.zd_access.N
2188i32 zd_access_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2189// Return pointer to next element in the list
2190// func:amc.FCtype.zd_access.Next
2191amc::FField* zd_access_Next(amc::FField &row) __attribute__((__warn_unused_result__, nothrow));
2192// Return pointer to previous element in the list
2193// func:amc.FCtype.zd_access.Prev
2194amc::FField* zd_access_Prev(amc::FField &row) __attribute__((__warn_unused_result__, nothrow));
2195// Remove element from index. If element is not in index, do nothing.
2196// func:amc.FCtype.zd_access.Remove
2197void zd_access_Remove(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
2198// Empty the index. (The rows are not deleted)
2199// func:amc.FCtype.zd_access.RemoveAll
2200void zd_access_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
2201// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
2202// func:amc.FCtype.zd_access.RemoveFirst
2203amc::FField* zd_access_RemoveFirst(amc::FCtype& ctype) __attribute__((nothrow));
2204// Return reference to last element in the index. No bounds checking.
2205// func:amc.FCtype.zd_access.qLast
2206amc::FField& zd_access_qLast(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow));
2207
2208// Insert row into pointer index. Return final membership status.
2209// func:amc.FCtype.c_cdflt.InsertMaybe
2210bool c_cdflt_InsertMaybe(amc::FCtype& ctype, amc::FCdflt& row) __attribute__((nothrow));
2211// Remove element from index. If element is not in index, do nothing.
2212// func:amc.FCtype.c_cdflt.Remove
2213void c_cdflt_Remove(amc::FCtype& ctype, amc::FCdflt& row) __attribute__((nothrow));
2214
2215// Insert row into pointer index. Return final membership status.
2216// func:amc.FCtype.c_argvtype.InsertMaybe
2217bool c_argvtype_InsertMaybe(amc::FCtype& ctype, amc::FArgvtype& row) __attribute__((nothrow));
2218// Remove element from index. If element is not in index, do nothing.
2219// func:amc.FCtype.c_argvtype.Remove
2220void c_argvtype_Remove(amc::FCtype& ctype, amc::FArgvtype& row) __attribute__((nothrow));
2221
2222// Insert row into pointer index. Return final membership status.
2223// func:amc.FCtype.c_floadtuples.InsertMaybe
2224bool c_floadtuples_InsertMaybe(amc::FCtype& ctype, amc::FFloadtuples& row) __attribute__((nothrow));
2225// Remove element from index. If element is not in index, do nothing.
2226// func:amc.FCtype.c_floadtuples.Remove
2227void c_floadtuples_Remove(amc::FCtype& ctype, amc::FFloadtuples& row) __attribute__((nothrow));
2228
2229// Return true if index is empty
2230// func:amc.FCtype.c_fcurs.EmptyQ
2231bool c_fcurs_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
2232// Look up row by row id. Return NULL if out of range
2233// func:amc.FCtype.c_fcurs.Find
2234amc::FFcurs* c_fcurs_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
2235// Return array of pointers
2236// func:amc.FCtype.c_fcurs.Getary
2237algo::aryptr<amc::FFcurs*> c_fcurs_Getary(amc::FCtype& ctype) __attribute__((nothrow));
2238// Insert pointer to row into array. Row must not already be in array.
2239// If pointer is already in the array, it may be inserted twice.
2240// func:amc.FCtype.c_fcurs.Insert
2241void c_fcurs_Insert(amc::FCtype& ctype, amc::FFcurs& row) __attribute__((nothrow));
2242// Insert pointer to row in array.
2243// If row is already in the array, do nothing.
2244// Return value: whether element was inserted into array.
2245// func:amc.FCtype.c_fcurs.InsertMaybe
2246bool c_fcurs_InsertMaybe(amc::FCtype& ctype, amc::FFcurs& row) __attribute__((nothrow));
2247// Return number of items in the pointer array
2248// func:amc.FCtype.c_fcurs.N
2249i32 c_fcurs_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2250// Find element using linear scan. If element is in array, remove, otherwise do nothing
2251// func:amc.FCtype.c_fcurs.Remove
2252void c_fcurs_Remove(amc::FCtype& ctype, amc::FFcurs& row) __attribute__((nothrow));
2253// Empty the index. (The rows are not deleted)
2254// func:amc.FCtype.c_fcurs.RemoveAll
2255void c_fcurs_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
2256// Reserve space in index for N more elements;
2257// func:amc.FCtype.c_fcurs.Reserve
2258void c_fcurs_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
2259// Return reference without bounds checking
2260// func:amc.FCtype.c_fcurs.qFind
2261amc::FFcurs& c_fcurs_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
2262// True if row is in any ptrary instance
2263// func:amc.FCtype.c_fcurs.InAryQ
2264bool ctype_c_fcurs_InAryQ(amc::FFcurs& row) __attribute__((nothrow));
2265// Reference to last element without bounds checking
2266// func:amc.FCtype.c_fcurs.qLast
2267amc::FFcurs& c_fcurs_qLast(amc::FCtype& ctype) __attribute__((nothrow));
2268
2269// Insert row into pointer index. Return final membership status.
2270// func:amc.FCtype.c_ctypelen.InsertMaybe
2271bool c_ctypelen_InsertMaybe(amc::FCtype& ctype, amc::FCtypelen& row) __attribute__((nothrow));
2272// Remove element from index. If element is not in index, do nothing.
2273// func:amc.FCtype.c_ctypelen.Remove
2274void c_ctypelen_Remove(amc::FCtype& ctype, amc::FCtypelen& row) __attribute__((nothrow));
2275
2276// Insert row into pointer index. Return final membership status.
2277// func:amc.FCtype.c_nossimfile.InsertMaybe
2278bool c_nossimfile_InsertMaybe(amc::FCtype& ctype, amc::FNossimfile& row) __attribute__((nothrow));
2279// Remove element from index. If element is not in index, do nothing.
2280// func:amc.FCtype.c_nossimfile.Remove
2281void c_nossimfile_Remove(amc::FCtype& ctype, amc::FNossimfile& row) __attribute__((nothrow));
2282
2283// Insert row into pointer index. Return final membership status.
2284// func:amc.FCtype.c_cfast.InsertMaybe
2285bool c_cfast_InsertMaybe(amc::FCtype& ctype, amc::FCfast& row) __attribute__((nothrow));
2286// Remove element from index. If element is not in index, do nothing.
2287// func:amc.FCtype.c_cfast.Remove
2288void c_cfast_Remove(amc::FCtype& ctype, amc::FCfast& row) __attribute__((nothrow));
2289
2290// Return true if index is empty
2291// func:amc.FCtype.c_ffast.EmptyQ
2292bool c_ffast_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
2293// Look up row by row id. Return NULL if out of range
2294// func:amc.FCtype.c_ffast.Find
2295amc::FFfast* c_ffast_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
2296// Return array of pointers
2297// func:amc.FCtype.c_ffast.Getary
2298algo::aryptr<amc::FFfast*> c_ffast_Getary(amc::FCtype& ctype) __attribute__((nothrow));
2299// Insert pointer to row into array. Row must not already be in array.
2300// If pointer is already in the array, it may be inserted twice.
2301// func:amc.FCtype.c_ffast.Insert
2302void c_ffast_Insert(amc::FCtype& ctype, amc::FFfast& row) __attribute__((nothrow));
2303// Insert pointer to row in array.
2304// If row is already in the array, do nothing.
2305// Return value: whether element was inserted into array.
2306// func:amc.FCtype.c_ffast.InsertMaybe
2307bool c_ffast_InsertMaybe(amc::FCtype& ctype, amc::FFfast& row) __attribute__((nothrow));
2308// Return number of items in the pointer array
2309// func:amc.FCtype.c_ffast.N
2310i32 c_ffast_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
2311// Find element using linear scan. If element is in array, remove, otherwise do nothing
2312// func:amc.FCtype.c_ffast.Remove
2313void c_ffast_Remove(amc::FCtype& ctype, amc::FFfast& row) __attribute__((nothrow));
2314// Empty the index. (The rows are not deleted)
2315// func:amc.FCtype.c_ffast.RemoveAll
2316void c_ffast_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
2317// Reserve space in index for N more elements;
2318// func:amc.FCtype.c_ffast.Reserve
2319void c_ffast_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
2320// Return reference without bounds checking
2321// func:amc.FCtype.c_ffast.qFind
2322amc::FFfast& c_ffast_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
2323// True if row is in any ptrary instance
2324// func:amc.FCtype.c_ffast.InAryQ
2325bool ctype_c_ffast_InAryQ(amc::FFfast& row) __attribute__((nothrow));
2326// Reference to last element without bounds checking
2327// func:amc.FCtype.c_ffast.qLast
2328amc::FFfast& c_ffast_qLast(amc::FCtype& ctype) __attribute__((nothrow));
2329// Verify whether array is sorted
2330// func:amc.FCtype.c_ffast.SortedQ
2331bool c_ffast_SortedQ(amc::FCtype& ctype) __attribute__((nothrow));
2332// Insertion sort
2333// func:amc.FCtype.c_ffast.InsertionSort
2334void c_ffast_InsertionSort(amc::FCtype& ctype) __attribute__((nothrow));
2335// Heap sort
2336// func:amc.FCtype.c_ffast.HeapSort
2337void c_ffast_HeapSort(amc::FCtype& ctype) __attribute__((nothrow));
2338// Quick sort
2339// func:amc.FCtype.c_ffast.QuickSort
2340void c_ffast_QuickSort(amc::FCtype& ctype) __attribute__((nothrow));
2341
2342// cursor points to valid item
2343// func:amc.FCtype.zs_cfmt_curs.Reset
2344void ctype_zs_cfmt_curs_Reset(ctype_zs_cfmt_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
2345// cursor points to valid item
2346// func:amc.FCtype.zs_cfmt_curs.ValidQ
2347bool ctype_zs_cfmt_curs_ValidQ(ctype_zs_cfmt_curs &curs) __attribute__((nothrow));
2348// proceed to next item
2349// func:amc.FCtype.zs_cfmt_curs.Next
2350void ctype_zs_cfmt_curs_Next(ctype_zs_cfmt_curs &curs) __attribute__((nothrow));
2351// item access
2352// func:amc.FCtype.zs_cfmt_curs.Access
2353amc::FCfmt& ctype_zs_cfmt_curs_Access(ctype_zs_cfmt_curs &curs) __attribute__((nothrow));
2354// func:amc.FCtype.c_field_curs.Reset
2355void ctype_c_field_curs_Reset(ctype_c_field_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
2356// cursor points to valid item
2357// func:amc.FCtype.c_field_curs.ValidQ
2358bool ctype_c_field_curs_ValidQ(ctype_c_field_curs &curs) __attribute__((nothrow));
2359// proceed to next item
2360// func:amc.FCtype.c_field_curs.Next
2361void ctype_c_field_curs_Next(ctype_c_field_curs &curs) __attribute__((nothrow));
2362// item access
2363// func:amc.FCtype.c_field_curs.Access
2364amc::FField& ctype_c_field_curs_Access(ctype_c_field_curs &curs) __attribute__((nothrow));
2365// func:amc.FCtype.c_static_curs.Reset
2366void ctype_c_static_curs_Reset(ctype_c_static_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
2367// cursor points to valid item
2368// func:amc.FCtype.c_static_curs.ValidQ
2369bool ctype_c_static_curs_ValidQ(ctype_c_static_curs &curs) __attribute__((nothrow));
2370// proceed to next item
2371// func:amc.FCtype.c_static_curs.Next
2372void ctype_c_static_curs_Next(ctype_c_static_curs &curs) __attribute__((nothrow));
2373// item access
2374// func:amc.FCtype.c_static_curs.Access
2375amc::FStatictuple& ctype_c_static_curs_Access(ctype_c_static_curs &curs) __attribute__((nothrow));
2376// func:amc.FCtype.c_parent_curs.Reset
2377void ctype_c_parent_curs_Reset(ctype_c_parent_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
2378// cursor points to valid item
2379// func:amc.FCtype.c_parent_curs.ValidQ
2380bool ctype_c_parent_curs_ValidQ(ctype_c_parent_curs &curs) __attribute__((nothrow));
2381// proceed to next item
2382// func:amc.FCtype.c_parent_curs.Next
2383void ctype_c_parent_curs_Next(ctype_c_parent_curs &curs) __attribute__((nothrow));
2384// item access
2385// func:amc.FCtype.c_parent_curs.Access
2386amc::FCtype& ctype_c_parent_curs_Access(ctype_c_parent_curs &curs) __attribute__((nothrow));
2387// func:amc.FCtype.c_pmaskfld_curs.Reset
2388void ctype_c_pmaskfld_curs_Reset(ctype_c_pmaskfld_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
2389// cursor points to valid item
2390// func:amc.FCtype.c_pmaskfld_curs.ValidQ
2391bool ctype_c_pmaskfld_curs_ValidQ(ctype_c_pmaskfld_curs &curs) __attribute__((nothrow));
2392// proceed to next item
2393// func:amc.FCtype.c_pmaskfld_curs.Next
2394void ctype_c_pmaskfld_curs_Next(ctype_c_pmaskfld_curs &curs) __attribute__((nothrow));
2395// item access
2396// func:amc.FCtype.c_pmaskfld_curs.Access
2397amc::FPmaskfld& ctype_c_pmaskfld_curs_Access(ctype_c_pmaskfld_curs &curs) __attribute__((nothrow));
2398// func:amc.FCtype.c_datafld_curs.Reset
2399void ctype_c_datafld_curs_Reset(ctype_c_datafld_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
2400// cursor points to valid item
2401// func:amc.FCtype.c_datafld_curs.ValidQ
2402bool ctype_c_datafld_curs_ValidQ(ctype_c_datafld_curs &curs) __attribute__((nothrow));
2403// proceed to next item
2404// func:amc.FCtype.c_datafld_curs.Next
2405void ctype_c_datafld_curs_Next(ctype_c_datafld_curs &curs) __attribute__((nothrow));
2406// item access
2407// func:amc.FCtype.c_datafld_curs.Access
2408amc::FField& ctype_c_datafld_curs_Access(ctype_c_datafld_curs &curs) __attribute__((nothrow));
2409// cursor points to valid item
2410// func:amc.FCtype.zd_inst_curs.Reset
2411void ctype_zd_inst_curs_Reset(ctype_zd_inst_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
2412// cursor points to valid item
2413// func:amc.FCtype.zd_inst_curs.ValidQ
2414bool ctype_zd_inst_curs_ValidQ(ctype_zd_inst_curs &curs) __attribute__((nothrow));
2415// proceed to next item
2416// func:amc.FCtype.zd_inst_curs.Next
2417void ctype_zd_inst_curs_Next(ctype_zd_inst_curs &curs) __attribute__((nothrow));
2418// item access
2419// func:amc.FCtype.zd_inst_curs.Access
2420amc::FField& ctype_zd_inst_curs_Access(ctype_zd_inst_curs &curs) __attribute__((nothrow));
2421// cursor points to valid item
2422// func:amc.FCtype.zs_xref_curs.Reset
2423void ctype_zs_xref_curs_Reset(ctype_zs_xref_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
2424// cursor points to valid item
2425// func:amc.FCtype.zs_xref_curs.ValidQ
2426bool ctype_zs_xref_curs_ValidQ(ctype_zs_xref_curs &curs) __attribute__((nothrow));
2427// proceed to next item
2428// func:amc.FCtype.zs_xref_curs.Next
2429void ctype_zs_xref_curs_Next(ctype_zs_xref_curs &curs) __attribute__((nothrow));
2430// item access
2431// func:amc.FCtype.zs_xref_curs.Access
2432amc::FXref& ctype_zs_xref_curs_Access(ctype_zs_xref_curs &curs) __attribute__((nothrow));
2433// func:amc.FCtype.c_ffunc_curs.Reset
2434void ctype_c_ffunc_curs_Reset(ctype_c_ffunc_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
2435// cursor points to valid item
2436// func:amc.FCtype.c_ffunc_curs.ValidQ
2437bool ctype_c_ffunc_curs_ValidQ(ctype_c_ffunc_curs &curs) __attribute__((nothrow));
2438// proceed to next item
2439// func:amc.FCtype.c_ffunc_curs.Next
2440void ctype_c_ffunc_curs_Next(ctype_c_ffunc_curs &curs) __attribute__((nothrow));
2441// item access
2442// func:amc.FCtype.c_ffunc_curs.Access
2443amc::FFunc& ctype_c_ffunc_curs_Access(ctype_c_ffunc_curs &curs) __attribute__((nothrow));
2444// cursor points to valid item
2445// func:amc.FCtype.zd_cafter_curs.Reset
2446void ctype_zd_cafter_curs_Reset(ctype_zd_cafter_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
2447// cursor points to valid item
2448// func:amc.FCtype.zd_cafter_curs.ValidQ
2449bool ctype_zd_cafter_curs_ValidQ(ctype_zd_cafter_curs &curs) __attribute__((nothrow));
2450// proceed to next item
2451// func:amc.FCtype.zd_cafter_curs.Next
2452void ctype_zd_cafter_curs_Next(ctype_zd_cafter_curs &curs) __attribute__((nothrow));
2453// item access
2454// func:amc.FCtype.zd_cafter_curs.Access
2455amc::FCafter& ctype_zd_cafter_curs_Access(ctype_zd_cafter_curs &curs) __attribute__((nothrow));
2456// cursor points to valid item
2457// func:amc.FCtype.zd_access_curs.Reset
2458void ctype_zd_access_curs_Reset(ctype_zd_access_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
2459// cursor points to valid item
2460// func:amc.FCtype.zd_access_curs.ValidQ
2461bool ctype_zd_access_curs_ValidQ(ctype_zd_access_curs &curs) __attribute__((nothrow));
2462// proceed to next item
2463// func:amc.FCtype.zd_access_curs.Next
2464void ctype_zd_access_curs_Next(ctype_zd_access_curs &curs) __attribute__((nothrow));
2465// item access
2466// func:amc.FCtype.zd_access_curs.Access
2467amc::FField& ctype_zd_access_curs_Access(ctype_zd_access_curs &curs) __attribute__((nothrow));
2468// func:amc.FCtype.c_fcurs_curs.Reset
2469void ctype_c_fcurs_curs_Reset(ctype_c_fcurs_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
2470// cursor points to valid item
2471// func:amc.FCtype.c_fcurs_curs.ValidQ
2472bool ctype_c_fcurs_curs_ValidQ(ctype_c_fcurs_curs &curs) __attribute__((nothrow));
2473// proceed to next item
2474// func:amc.FCtype.c_fcurs_curs.Next
2475void ctype_c_fcurs_curs_Next(ctype_c_fcurs_curs &curs) __attribute__((nothrow));
2476// item access
2477// func:amc.FCtype.c_fcurs_curs.Access
2478amc::FFcurs& ctype_c_fcurs_curs_Access(ctype_c_fcurs_curs &curs) __attribute__((nothrow));
2479// func:amc.FCtype.c_ffast_curs.Reset
2480void ctype_c_ffast_curs_Reset(ctype_c_ffast_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
2481// cursor points to valid item
2482// func:amc.FCtype.c_ffast_curs.ValidQ
2483bool ctype_c_ffast_curs_ValidQ(ctype_c_ffast_curs &curs) __attribute__((nothrow));
2484// proceed to next item
2485// func:amc.FCtype.c_ffast_curs.Next
2486void ctype_c_ffast_curs_Next(ctype_c_ffast_curs &curs) __attribute__((nothrow));
2487// item access
2488// func:amc.FCtype.c_ffast_curs.Access
2489amc::FFfast& ctype_c_ffast_curs_Access(ctype_c_ffast_curs &curs) __attribute__((nothrow));
2490// Set all fields to initial values.
2491// func:amc.FCtype..Init
2492void FCtype_Init(amc::FCtype& ctype);
2493// func:amc.FCtype..Uninit
2494void FCtype_Uninit(amc::FCtype& ctype) __attribute__((nothrow));
2495
2496// --- amc.FCtypelen
2497// create: amc.FDb.ctypelen (Lary)
2498// global access: c_ctypelen (Ptrary)
2499// access: amc.FCtype.c_ctypelen (Ptr)
2500struct FCtypelen { // amc.FCtypelen
2501 algo::Smallstr100 ctype; // Identifies the Ctype
2502 u32 len; // 0
2503 i32 alignment; // 0
2504 i32 padbytes; // 0
2505 bool plaindata; // false
2506 bool _db_c_ctypelen_in_ary; // false membership flag
2507private:
2508 friend amc::FCtypelen& ctypelen_Alloc() __attribute__((__warn_unused_result__, nothrow));
2509 friend amc::FCtypelen* ctypelen_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
2510 friend void ctypelen_RemoveAll() __attribute__((nothrow));
2511 friend void ctypelen_RemoveLast() __attribute__((nothrow));
2512 FCtypelen();
2513 ~FCtypelen();
2514 FCtypelen(const FCtypelen&){ /*disallow copy constructor */}
2515 void operator =(const FCtypelen&){ /*disallow direct assignment */}
2516};
2517
2518// Copy fields out of row
2519// func:amc.FCtypelen.base.CopyOut
2520void ctypelen_CopyOut(amc::FCtypelen &row, dmmeta::Ctypelen &out) __attribute__((nothrow));
2521// Copy fields in to row
2522// func:amc.FCtypelen.base.CopyIn
2523void ctypelen_CopyIn(amc::FCtypelen &row, dmmeta::Ctypelen &in) __attribute__((nothrow));
2524
2525// Set all fields to initial values.
2526// func:amc.FCtypelen..Init
2527void FCtypelen_Init(amc::FCtypelen& ctypelen);
2528// func:amc.FCtypelen..Uninit
2529void FCtypelen_Uninit(amc::FCtypelen& ctypelen) __attribute__((nothrow));
2530
2531// --- amc.Genctx
2532struct Genctx { // amc.Genctx
2533 algo_lib::Replscope R; //
2534 amc::FNs* p_ns; // reference to parent row
2535 amc::FCtype* p_ctype; // reference to parent row
2536 amc::FField* p_field; // reference to parent row
2537 amc::FTfunc* p_tfunc; // reference to parent row
2538 Genctx();
2539private:
2540 // value field amc.Genctx.R is not copiable
2541 Genctx(const Genctx&){ /*disallow copy constructor */}
2542 void operator =(const Genctx&){ /*disallow direct assignment */}
2543};
2544
2545// Set all fields to initial values.
2546// func:amc.Genctx..Init
2547void Genctx_Init(amc::Genctx& parent);
2548
2549// --- amc.FTclass
2550// create: amc.FDb.tclass (Inlary)
2551// global access: ind_tclass (Thash)
2552// access: amc.FReftype.p_tclass (Upptr)
2553struct FTclass { // amc.FTclass
2554 algo::Smallstr50 tclass; //
2555 amc::FTfunc** c_tfunc_elems; // array of pointers
2556 u32 c_tfunc_n; // array of pointers
2557 u32 c_tfunc_max; // capacity of allocated array
2558 amc::tclass_step_hook step; // NULL Pointer to a function
2559 amc::FTclass* ind_tclass_next; // hash next
2560 FTclass();
2561 ~FTclass();
2562private:
2563 FTclass(const FTclass&){ /*disallow copy constructor */}
2564 void operator =(const FTclass&){ /*disallow direct assignment */}
2565};
2566
2567// Copy fields out of row
2568// func:amc.FTclass.msghdr.CopyOut
2569void tclass_CopyOut(amc::FTclass &row, amcdb::Tclass &out) __attribute__((nothrow));
2570// Copy fields in to row
2571// func:amc.FTclass.msghdr.CopyIn
2572void tclass_CopyIn(amc::FTclass &row, amcdb::Tclass &in) __attribute__((nothrow));
2573
2574// Return true if index is empty
2575// func:amc.FTclass.c_tfunc.EmptyQ
2576bool c_tfunc_EmptyQ(amc::FTclass& tclass) __attribute__((nothrow));
2577// Look up row by row id. Return NULL if out of range
2578// func:amc.FTclass.c_tfunc.Find
2579amc::FTfunc* c_tfunc_Find(amc::FTclass& tclass, u32 t) __attribute__((__warn_unused_result__, nothrow));
2580// Return array of pointers
2581// func:amc.FTclass.c_tfunc.Getary
2582algo::aryptr<amc::FTfunc*> c_tfunc_Getary(amc::FTclass& tclass) __attribute__((nothrow));
2583// Insert pointer to row into array. Row must not already be in array.
2584// If pointer is already in the array, it may be inserted twice.
2585// func:amc.FTclass.c_tfunc.Insert
2586void c_tfunc_Insert(amc::FTclass& tclass, amc::FTfunc& row) __attribute__((nothrow));
2587// Insert pointer to row in array.
2588// If row is already in the array, do nothing.
2589// Return value: whether element was inserted into array.
2590// func:amc.FTclass.c_tfunc.InsertMaybe
2591bool c_tfunc_InsertMaybe(amc::FTclass& tclass, amc::FTfunc& row) __attribute__((nothrow));
2592// Return number of items in the pointer array
2593// func:amc.FTclass.c_tfunc.N
2594i32 c_tfunc_N(const amc::FTclass& tclass) __attribute__((__warn_unused_result__, nothrow, pure));
2595// Find element using linear scan. If element is in array, remove, otherwise do nothing
2596// func:amc.FTclass.c_tfunc.Remove
2597void c_tfunc_Remove(amc::FTclass& tclass, amc::FTfunc& row) __attribute__((nothrow));
2598// Empty the index. (The rows are not deleted)
2599// func:amc.FTclass.c_tfunc.RemoveAll
2600void c_tfunc_RemoveAll(amc::FTclass& tclass) __attribute__((nothrow));
2601// Reserve space in index for N more elements;
2602// func:amc.FTclass.c_tfunc.Reserve
2603void c_tfunc_Reserve(amc::FTclass& tclass, u32 n) __attribute__((nothrow));
2604// Return reference without bounds checking
2605// func:amc.FTclass.c_tfunc.qFind
2606amc::FTfunc& c_tfunc_qFind(amc::FTclass& tclass, u32 idx) __attribute__((nothrow));
2607// True if row is in any ptrary instance
2608// func:amc.FTclass.c_tfunc.InAryQ
2609bool tclass_c_tfunc_InAryQ(amc::FTfunc& row) __attribute__((nothrow));
2610// Reference to last element without bounds checking
2611// func:amc.FTclass.c_tfunc.qLast
2612amc::FTfunc& c_tfunc_qLast(amc::FTclass& tclass) __attribute__((nothrow));
2613
2614// Invoke function by pointer
2615// func:amc.FTclass.step.Call
2616void step_Call(amc::FTclass& tclass) __attribute__((nothrow));
2617
2618// func:amc.FTclass.c_tfunc_curs.Reset
2619void tclass_c_tfunc_curs_Reset(tclass_c_tfunc_curs &curs, amc::FTclass &parent) __attribute__((nothrow));
2620// cursor points to valid item
2621// func:amc.FTclass.c_tfunc_curs.ValidQ
2622bool tclass_c_tfunc_curs_ValidQ(tclass_c_tfunc_curs &curs) __attribute__((nothrow));
2623// proceed to next item
2624// func:amc.FTclass.c_tfunc_curs.Next
2625void tclass_c_tfunc_curs_Next(tclass_c_tfunc_curs &curs) __attribute__((nothrow));
2626// item access
2627// func:amc.FTclass.c_tfunc_curs.Access
2628amc::FTfunc& tclass_c_tfunc_curs_Access(tclass_c_tfunc_curs &curs) __attribute__((nothrow));
2629// Set all fields to initial values.
2630// func:amc.FTclass..Init
2631void FTclass_Init(amc::FTclass& tclass);
2632// func:amc.FTclass..Uninit
2633void FTclass_Uninit(amc::FTclass& tclass) __attribute__((nothrow));
2634
2635// --- amc.trace
2636#pragma pack(push,1)
2637struct trace { // amc.trace
2638 trace();
2639};
2640#pragma pack(pop)
2641
2642// print string representation of ROW to string STR
2643// cfmt:amc.trace.String printfmt:Tuple
2644// func:amc.trace..Print
2645void trace_Print(amc::trace& row, algo::cstring& str) __attribute__((nothrow));
2646
2647// --- amc.FDb
2648// create: amc.FDb._db (Global)
2649struct FDb { // amc.FDb: In-memory database for amc
2650 lpool_Lpblock* lpool_free[36]; // Lpool levels
2651 amc::FFsort* fsort_lary[32]; // level array
2652 i32 fsort_n; // number of elements in array
2653 amc::FCfmt** ind_cfmt_buckets_elems; // pointer to bucket array
2654 i32 ind_cfmt_buckets_n; // number of elements in bucket array
2655 i32 ind_cfmt_n; // number of elements in the hash table
2656 amc::FDispfilter* dispfilter_lary[32]; // level array
2657 i32 dispfilter_n; // number of elements in array
2658 amc::FUsertracefld* usertracefld_lary[32]; // level array
2659 i32 usertracefld_n; // number of elements in array
2660 amc::FCfmt* cfmt_lary[32]; // level array
2661 i32 cfmt_n; // number of elements in array
2662 command::amc cmdline; //
2663 amc::FDispatch* dispatch_lary[32]; // level array
2664 i32 dispatch_n; // number of elements in array
2665 amc::FDispatchmsg* dispatch_msg_lary[32]; // level array
2666 i32 dispatch_msg_n; // number of elements in array
2667 amc::FCtype* ctype_lary[32]; // level array
2668 i32 ctype_n; // number of elements in array
2669 amc::FField* field_lary[32]; // level array
2670 i32 field_n; // number of elements in array
2671 amc::FBasepool* basepool_lary[32]; // level array
2672 i32 basepool_n; // number of elements in array
2673 amc::FLlist* llist_lary[32]; // level array
2674 i32 llist_n; // number of elements in array
2675 amc::FAnonfld* anonfld_lary[32]; // level array
2676 i32 anonfld_n; // number of elements in array
2677 amc::FXref* xref_lary[32]; // level array
2678 i32 xref_n; // number of elements in array
2679 amc::FNs* ns_lary[32]; // level array
2680 i32 ns_n; // number of elements in array
2681 amc::FPnew* pnew_lary[32]; // level array
2682 i32 pnew_n; // number of elements in array
2683 amc::FFldoffset* fldoffset_lary[32]; // level array
2684 i32 fldoffset_n; // number of elements in array
2685 amc::FTypefld* typefld_lary[32]; // level array
2686 i32 typefld_n; // number of elements in array
2687 amc::FLenfld* lenfld_lary[32]; // level array
2688 i32 lenfld_n; // number of elements in array
2689 amc::FBltin* bltin_lary[32]; // level array
2690 i32 bltin_n; // number of elements in array
2691 amc::FStatictuple* static_tuple_lary[32]; // level array
2692 i32 static_tuple_n; // number of elements in array
2693 amc::FMsgtype* msgtype_lary[32]; // level array
2694 i32 msgtype_n; // number of elements in array
2695 amc::FGconst* gconst_lary[32]; // level array
2696 i32 gconst_n; // number of elements in array
2697 amc::FGstatic* gstatic_lary[32]; // level array
2698 i32 gstatic_n; // number of elements in array
2699 amc::FThash* thash_lary[32]; // level array
2700 i32 thash_n; // number of elements in array
2701 u64 outfile_blocksize; // # bytes per block
2702 amc::FOutfile* outfile_free; //
2703 amc::FFunc* func_lary[32]; // level array
2704 i32 func_n; // number of elements in array
2705 amc::FSmallstr* smallstr_lary[32]; // level array
2706 i32 smallstr_n; // number of elements in array
2707 amc::FNumstr* numstr_lary[32]; // level array
2708 i32 numstr_n; // number of elements in array
2709 amc::FMain* main_lary[32]; // level array
2710 i32 main_n; // number of elements in array
2711 amc::FReftype* reftype_lary[32]; // level array
2712 i32 reftype_n; // number of elements in array
2713 amc::FBltin** ind_bltin_buckets_elems; // pointer to bucket array
2714 i32 ind_bltin_buckets_n; // number of elements in bucket array
2715 i32 ind_bltin_n; // number of elements in the hash table
2716 amc::FCtype** ind_ctype_buckets_elems; // pointer to bucket array
2717 i32 ind_ctype_buckets_n; // number of elements in bucket array
2718 i32 ind_ctype_n; // number of elements in the hash table
2719 amc::FDispatch** ind_dispatch_buckets_elems; // pointer to bucket array
2720 i32 ind_dispatch_buckets_n; // number of elements in bucket array
2721 i32 ind_dispatch_n; // number of elements in the hash table
2722 amc::FFunc** ind_func_buckets_elems; // pointer to bucket array
2723 i32 ind_func_buckets_n; // number of elements in bucket array
2724 i32 ind_func_n; // number of elements in the hash table
2725 amc::FField** ind_field_buckets_elems; // pointer to bucket array
2726 i32 ind_field_buckets_n; // number of elements in bucket array
2727 i32 ind_field_n; // number of elements in the hash table
2728 amc::FNs** ind_ns_buckets_elems; // pointer to bucket array
2729 i32 ind_ns_buckets_n; // number of elements in bucket array
2730 i32 ind_ns_n; // number of elements in the hash table
2731 amc::FPnew** ind_pnew_buckets_elems; // pointer to bucket array
2732 i32 ind_pnew_buckets_n; // number of elements in bucket array
2733 i32 ind_pnew_n; // number of elements in the hash table
2734 amc::FXref** ind_xref_buckets_elems; // pointer to bucket array
2735 i32 ind_xref_buckets_n; // number of elements in bucket array
2736 i32 ind_xref_n; // number of elements in the hash table
2737 amc::FCpptype* cpptype_lary[32]; // level array
2738 i32 cpptype_n; // number of elements in array
2739 amc::FCpptype** ind_cpptype_buckets_elems; // pointer to bucket array
2740 i32 ind_cpptype_buckets_n; // number of elements in bucket array
2741 i32 ind_cpptype_n; // number of elements in the hash table
2742 amc::FInlary* inlary_lary[32]; // level array
2743 i32 inlary_n; // number of elements in array
2744 amc::FInlary** ind_inlary_buckets_elems; // pointer to bucket array
2745 i32 ind_inlary_buckets_n; // number of elements in bucket array
2746 i32 ind_inlary_n; // number of elements in the hash table
2747 amc::FTary* tary_lary[32]; // level array
2748 i32 tary_n; // number of elements in array
2749 amc::FTary** ind_tary_buckets_elems; // pointer to bucket array
2750 i32 ind_tary_buckets_n; // number of elements in bucket array
2751 i32 ind_tary_n; // number of elements in the hash table
2752 amc::FCppfunc* cppfunc_lary[32]; // level array
2753 i32 cppfunc_n; // number of elements in array
2754 amc::FRowid* rowid_lary[32]; // level array
2755 i32 rowid_n; // number of elements in array
2756 amc::FRowid** ind_rowid_buckets_elems; // pointer to bucket array
2757 i32 ind_rowid_buckets_n; // number of elements in bucket array
2758 i32 ind_rowid_n; // number of elements in the hash table
2759 amc::FCascdel* cascdel_lary[32]; // level array
2760 i32 cascdel_n; // number of elements in array
2761 amc::FSubstr* substr_lary[32]; // level array
2762 i32 substr_n; // number of elements in array
2763 amc::FBitfld* bitfld_lary[32]; // level array
2764 i32 bitfld_n; // number of elements in array
2765 amc::FSsimfile* ssimfile_lary[32]; // level array
2766 i32 ssimfile_n; // number of elements in array
2767 amc::FSsimfile** ind_ssimfile_buckets_elems; // pointer to bucket array
2768 i32 ind_ssimfile_buckets_n; // number of elements in bucket array
2769 i32 ind_ssimfile_n; // number of elements in the hash table
2770 amc::FPack* pack_lary[32]; // level array
2771 i32 pack_n; // number of elements in array
2772 amc::FPack** ind_pack_buckets_elems; // pointer to bucket array
2773 i32 ind_pack_buckets_n; // number of elements in bucket array
2774 i32 ind_pack_n; // number of elements in the hash table
2775 amc::FSmallstr** ind_smallstr_buckets_elems; // pointer to bucket array
2776 i32 ind_smallstr_buckets_n; // number of elements in bucket array
2777 i32 ind_smallstr_n; // number of elements in the hash table
2778 amc::FPtrary* ptrary_lary[32]; // level array
2779 i32 ptrary_n; // number of elements in array
2780 amc::FCtype** c_ctype_sorted_elems; // array of pointers
2781 u32 c_ctype_sorted_n; // array of pointers
2782 u32 c_ctype_sorted_max; // capacity of allocated array
2783 amc::FEnumstr* enumstr_lary[32]; // level array
2784 i32 enumstr_n; // number of elements in array
2785 amc::FEnumstrLen* enumstr_len_lary[32]; // level array
2786 i32 enumstr_len_n; // number of elements in array
2787 amc::FEnumstrLen** bh_enumstr_len_elems; // binary heap by len
2788 i32 bh_enumstr_len_n; // number of elements in the heap
2789 i32 bh_enumstr_len_max; // max elements in bh_enumstr_len_elems
2790 amc::FEnumstrLen** ind_enumstr_len_buckets_elems; // pointer to bucket array
2791 i32 ind_enumstr_len_buckets_n; // number of elements in bucket array
2792 i32 ind_enumstr_len_n; // number of elements in the hash table
2793 amc::FEnumstr** ind_enumstr_buckets_elems; // pointer to bucket array
2794 i32 ind_enumstr_buckets_n; // number of elements in bucket array
2795 i32 ind_enumstr_n; // number of elements in the hash table
2796 amc::FFbitset* fbitset_lary[32]; // level array
2797 i32 fbitset_n; // number of elements in array
2798 amc::FFbitset** ind_fbitset_buckets_elems; // pointer to bucket array
2799 i32 ind_fbitset_buckets_n; // number of elements in bucket array
2800 i32 ind_fbitset_n; // number of elements in the hash table
2801 amc::FFcleanup* fcleanup_lary[32]; // level array
2802 i32 fcleanup_n; // number of elements in array
2803 amc::FFdec* fdec_lary[32]; // level array
2804 i32 fdec_n; // number of elements in array
2805 amc::FFdec** ind_fdec_buckets_elems; // pointer to bucket array
2806 i32 ind_fdec_buckets_n; // number of elements in bucket array
2807 i32 ind_fdec_n; // number of elements in the hash table
2808 amc::FReftype** ind_reftype_buckets_elems; // pointer to bucket array
2809 i32 ind_reftype_buckets_n; // number of elements in bucket array
2810 i32 ind_reftype_n; // number of elements in the hash table
2811 amc::FFconst* fconst_lary[32]; // level array
2812 i32 fconst_n; // number of elements in array
2813 amc::FFconst** ind_fconst_buckets_elems; // pointer to bucket array
2814 i32 ind_fconst_buckets_n; // number of elements in bucket array
2815 i32 ind_fconst_n; // number of elements in the hash table
2816 amc::FNs** c_ns_sorted_elems; // array of pointers
2817 u32 c_ns_sorted_n; // array of pointers
2818 u32 c_ns_sorted_max; // capacity of allocated array
2819 amc::FFinput* finput_lary[32]; // level array
2820 i32 finput_n; // number of elements in array
2821 amc::FFoutput* foutput_lary[32]; // level array
2822 i32 foutput_n; // number of elements in array
2823 amc::FFbuf* fbuf_lary[32]; // level array
2824 i32 fbuf_n; // number of elements in array
2825 amc::FFbuf** ind_fbuf_buckets_elems; // pointer to bucket array
2826 i32 ind_fbuf_buckets_n; // number of elements in bucket array
2827 i32 ind_fbuf_n; // number of elements in the hash table
2828 amc::FChash* chash_lary[32]; // level array
2829 i32 chash_n; // number of elements in array
2830 amc::FChash** ind_chash_buckets_elems; // pointer to bucket array
2831 i32 ind_chash_buckets_n; // number of elements in bucket array
2832 i32 ind_chash_n; // number of elements in the hash table
2833 amc::FCcmp* ccmp_lary[32]; // level array
2834 i32 ccmp_n; // number of elements in array
2835 amc::FCcmp** ind_ccmp_buckets_elems; // pointer to bucket array
2836 i32 ind_ccmp_buckets_n; // number of elements in bucket array
2837 i32 ind_ccmp_n; // number of elements in the hash table
2838 amc::FFbigend* fbigend_lary[32]; // level array
2839 i32 fbigend_n; // number of elements in array
2840 amc::FCtype* zsl_ctype_pack_tran_head; // zero-terminated singly linked list
2841 amc::FCstr* cstr_lary[32]; // level array
2842 i32 cstr_n; // number of elements in array
2843 amc::FListtype* listtype_lary[32]; // level array
2844 i32 listtype_n; // number of elements in array
2845 amc::FListtype** ind_listtype_buckets_elems; // pointer to bucket array
2846 i32 ind_listtype_buckets_n; // number of elements in bucket array
2847 i32 ind_listtype_n; // number of elements in the hash table
2848 amc::FFstep* fstep_lary[32]; // level array
2849 i32 fstep_n; // number of elements in array
2850 amc::FCextern* cextern_lary[32]; // level array
2851 i32 cextern_n; // number of elements in array
2852 amc::FFdelay* fdelay_lary[32]; // level array
2853 i32 fdelay_n; // number of elements in array
2854 amc::FDisptrace* disptrace_lary[32]; // level array
2855 i32 disptrace_n; // number of elements in array
2856 amc::FFstep** ind_fstep_buckets_elems; // pointer to bucket array
2857 i32 ind_fstep_buckets_n; // number of elements in bucket array
2858 i32 ind_fstep_n; // number of elements in the hash table
2859 amc::FTracefld* tracefld_lary[32]; // level array
2860 i32 tracefld_n; // number of elements in array
2861 amc::FTracerec* tracerec_lary[32]; // level array
2862 i32 tracerec_n; // number of elements in array
2863 amc::FDispsig* dispsig_lary[32]; // level array
2864 i32 dispsig_n; // number of elements in array
2865 amc::FDispsig** c_dispsig_sorted_elems; // array of pointers
2866 u32 c_dispsig_sorted_n; // array of pointers
2867 u32 c_dispsig_sorted_max; // capacity of allocated array
2868 amc::FCtype* zs_sig_visit_head; // zero-terminated singly linked list
2869 amc::FCtype* zs_sig_visit_tail; // pointer to last element
2870 amc::FTarget* target_lary[32]; // level array
2871 i32 target_n; // number of elements in array
2872 amc::FTarget** ind_target_buckets_elems; // pointer to bucket array
2873 i32 ind_target_buckets_n; // number of elements in bucket array
2874 i32 ind_target_n; // number of elements in the hash table
2875 amc::FTargdep* targdep_lary[32]; // level array
2876 i32 targdep_n; // number of elements in array
2877 amc::FField* c_malloc; // optional pointer
2878 amc::FDispctx* dispctx_lary[32]; // level array
2879 i32 dispctx_n; // number of elements in array
2880 amc::FPmaskfld* pmaskfld_lary[32]; // level array
2881 i32 pmaskfld_n; // number of elements in array
2882 amc::Genctx genctx; //
2883 amc::FFwddecl* fwddecl_lary[32]; // level array
2884 i32 fwddecl_n; // number of elements in array
2885 amc::FFwddecl** ind_fwddecl_buckets_elems; // pointer to bucket array
2886 i32 ind_fwddecl_buckets_n; // number of elements in bucket array
2887 i32 ind_fwddecl_n; // number of elements in the hash table
2888 amc::FTfunc* tfunc_lary[32]; // level array
2889 i32 tfunc_n; // number of elements in array
2890 amc::FTfunc** ind_tfunc_buckets_elems; // pointer to bucket array
2891 i32 ind_tfunc_buckets_n; // number of elements in bucket array
2892 i32 ind_tfunc_n; // number of elements in the hash table
2893 amc::FGen* gen_lary[32]; // level array
2894 i32 gen_n; // number of elements in array
2895 amc::FNs* c_curns; // optional pointer
2896 amc::FFregx* fregx_lary[32]; // level array
2897 i32 fregx_n; // number of elements in array
2898 u128 tclass_data[sizeu128(amc::FTclass,51)]; // place for data
2899 i32 tclass_n; // number of elems current in existence
2900 enum { tclass_max = 51 };
2901 amc::FTclass** ind_tclass_buckets_elems; // pointer to bucket array
2902 i32 ind_tclass_buckets_n; // number of elements in bucket array
2903 i32 ind_tclass_n; // number of elements in the hash table
2904 amc::FFcmp* fcmp_lary[32]; // level array
2905 i32 fcmp_n; // number of elements in array
2906 amc::FFcast* fcast_lary[32]; // level array
2907 i32 fcast_n; // number of elements in array
2908 amc::FNoxref* noxref_lary[32]; // level array
2909 i32 noxref_n; // number of elements in array
2910 amc::FNocascdel* nocascdel_lary[32]; // level array
2911 i32 nocascdel_n; // number of elements in array
2912 amc::FCafter* cafter_lary[32]; // level array
2913 i32 cafter_n; // number of elements in array
2914 amc::FCsize* csize_lary[32]; // level array
2915 i32 csize_n; // number of elements in array
2916 amc::FNsx* nsx_lary[32]; // level array
2917 i32 nsx_n; // number of elements in array
2918 report::amc report; // Final report
2919 amc::FFcompact* fcompact_lary[32]; // level array
2920 i32 fcompact_n; // number of elements in array
2921 amc::FFindrem* findrem_lary[32]; // level array
2922 i32 findrem_n; // number of elements in array
2923 amc::FFcurs* fcurs_lary[32]; // level array
2924 i32 fcurs_n; // number of elements in array
2925 amc::FCdflt* cdflt_lary[32]; // level array
2926 i32 cdflt_n; // number of elements in array
2927 amc::FArgvtype* argvtype_lary[32]; // level array
2928 i32 argvtype_n; // number of elements in array
2929 amc::FFcmdline* fcmdline_lary[32]; // level array
2930 i32 fcmdline_n; // number of elements in array
2931 amc::FMain** ind_main_buckets_elems; // pointer to bucket array
2932 i32 ind_main_buckets_n; // number of elements in bucket array
2933 i32 ind_main_n; // number of elements in the hash table
2934 amc::FFloadtuples* floadtuples_lary[32]; // level array
2935 i32 floadtuples_n; // number of elements in array
2936 amc::FFcmap* fcmap_lary[32]; // level array
2937 i32 fcmap_n; // number of elements in array
2938 u32 lim_ind_func; // 0 Limit for ind_func table, used to enforce function creation
2939 amc::FField* zs_ordkeyfield_head; // zero-terminated singly linked list
2940 amc::FField* zs_ordkeyfield_tail; // pointer to last element
2941 algo_lib::FLockfile lockfile; // Prevent concurrent execution
2942 amc::FNsproto* nsproto_lary[32]; // level array
2943 i32 nsproto_n; // number of elements in array
2944 amc::FNsdb* nsdb_lary[32]; // level array
2945 i32 nsdb_n; // number of elements in array
2946 amc::FSubstr* zd_substr_params_head; // zero-terminated doubly linked list
2947 i32 zd_substr_params_n; // zero-terminated doubly linked list
2948 amc::FSubstr* zd_substr_params_tail; // pointer to last element
2949 amc::FFconst** ind_fconst_int_buckets_elems; // pointer to bucket array
2950 i32 ind_fconst_int_buckets_n; // number of elements in bucket array
2951 i32 ind_fconst_int_n; // number of elements in the hash table
2952 amc::FFprefix* fprefix_lary[32]; // level array
2953 i32 fprefix_n; // number of elements in array
2954 amc::FFprefix** ind_prefix_buckets_elems; // pointer to bucket array
2955 i32 ind_prefix_buckets_n; // number of elements in bucket array
2956 i32 ind_prefix_n; // number of elements in the hash table
2957 amc::FFtrace* ftrace_lary[32]; // level array
2958 i32 ftrace_n; // number of elements in array
2959 amc::FNs* c_ns; // optional pointer
2960 amc::FFnoremove* fnoremove_lary[32]; // level array
2961 i32 fnoremove_n; // number of elements in array
2962 amc::FSubstr** c_substr_field_elems; // array of pointers
2963 u32 c_substr_field_n; // array of pointers
2964 u32 c_substr_field_max; // capacity of allocated array
2965 amc::FCtypelen* ctypelen_lary[32]; // level array
2966 i32 ctypelen_n; // number of elements in array
2967 amc::FCtypelen** c_ctypelen_elems; // array of pointers
2968 u32 c_ctypelen_n; // array of pointers
2969 u32 c_ctypelen_max; // capacity of allocated array
2970 amc::FCtype* c_u64; // optional pointer
2971 amc::FField** c_tempfield_elems; // array of pointers
2972 u32 c_tempfield_n; // array of pointers
2973 u32 c_tempfield_max; // capacity of allocated array
2974 amc::FFbase* fbase_lary[32]; // level array
2975 i32 fbase_n; // number of elements in array
2976 amc::FFcmap** ind_fcmap_buckets_elems; // pointer to bucket array
2977 i32 ind_fcmap_buckets_n; // number of elements in bucket array
2978 i32 ind_fcmap_n; // number of elements in the hash table
2979 amc::FNossimfile* nossimfile_lary[32]; // level array
2980 i32 nossimfile_n; // number of elements in array
2981 amc::FGsymbol* gsymbol_lary[32]; // level array
2982 i32 gsymbol_n; // number of elements in array
2983 amc::FSortfld* sortfld_lary[32]; // level array
2984 i32 sortfld_n; // number of elements in array
2985 amc::FCget* cget_lary[32]; // level array
2986 i32 cget_n; // number of elements in array
2987 amc::FFunc* cd_temp_func_head; // zero-terminated doubly linked list
2988 i32 cd_temp_func_n; // zero-terminated doubly linked list
2989 amc::FGen* zs_gen_perns_head; // zero-terminated singly linked list
2990 amc::FGen* zs_gen_perns_tail; // pointer to last element
2991 amc::FHook* hook_lary[32]; // level array
2992 i32 hook_n; // number of elements in array
2993 amc::FCharset* charset_lary[32]; // level array
2994 i32 charset_n; // number of elements in array
2995 algo::Charset ValidRnumPad; //
2996 amc::FNsinclude* nsinclude_lary[32]; // level array
2997 i32 nsinclude_n; // number of elements in array
2998 amc::FSsimvolatile* ssimvolatile_lary[32]; // level array
2999 i32 ssimvolatile_n; // number of elements in array
3000 amc::FFunique* funique_lary[32]; // level array
3001 i32 funique_n; // number of elements in array
3002 amc::FFuserinit* fuserinit_lary[32]; // level array
3003 i32 fuserinit_n; // number of elements in array
3004 amc::FFcurs** ind_fcurs_buckets_elems; // pointer to bucket array
3005 i32 ind_fcurs_buckets_n; // number of elements in bucket array
3006 i32 ind_fcurs_n; // number of elements in the hash table
3007 amc::FTcurs* tcurs_lary[32]; // level array
3008 i32 tcurs_n; // number of elements in array
3009 algo::cstring cur_gen; //
3010 bool has_ams_fwd_declare; // false
3011 amc::FNscpp* nscpp_lary[32]; // level array
3012 i32 nscpp_n; // number of elements in array
3013 amc::FFflag* fflag_lary[32]; // level array
3014 i32 fflag_n; // number of elements in array
3015 amc::FFflag** ind_fflag_buckets_elems; // pointer to bucket array
3016 i32 ind_fflag_buckets_n; // number of elements in bucket array
3017 i32 ind_fflag_n; // number of elements in the hash table
3018 amc::FFalias* falias_lary[32]; // level array
3019 i32 falias_n; // number of elements in array
3020 algo::cstring copyright; //
3021 amc::FLicense* license_lary[32]; // level array
3022 i32 license_n; // number of elements in array
3023 amc::FLicense** ind_license_buckets_elems; // pointer to bucket array
3024 i32 ind_license_buckets_n; // number of elements in bucket array
3025 i32 ind_license_n; // number of elements in the hash table
3026 amc::FSsimfile** c_ssimfile_sorted_elems; // array of pointers
3027 u32 c_ssimfile_sorted_n; // array of pointers
3028 u32 c_ssimfile_sorted_max; // capacity of allocated array
3029 amc::FSsimfile* zd_ssimfile_todo_head; // zero-terminated doubly linked list
3030 i32 zd_ssimfile_todo_n; // zero-terminated doubly linked list
3031 amc::FSsimfile* zd_ssimfile_todo_tail; // pointer to last element
3032 amc::FCfast* cfast_lary[32]; // level array
3033 i32 cfast_n; // number of elements in array
3034 amc::FFfast* ffast_lary[32]; // level array
3035 i32 ffast_n; // number of elements in array
3036 amc::FPmaskfldMember* pmaskfld_member_lary[32]; // level array
3037 i32 pmaskfld_member_n; // number of elements in array
3038 amc::FPmaskfld** ind_pmaskfld_buckets_elems; // pointer to bucket array
3039 i32 ind_pmaskfld_buckets_n; // number of elements in bucket array
3040 i32 ind_pmaskfld_n; // number of elements in the hash table
3041 amc::FSsimsort* ssimsort_lary[32]; // level array
3042 i32 ssimsort_n; // number of elements in array
3043 amc::trace trace; //
3044};
3045
3046// Free block of memory previously returned by Lpool.
3047// func:amc.FDb.lpool.FreeMem
3048void lpool_FreeMem(void* mem, u64 size) __attribute__((nothrow));
3049// Allocate new piece of memory at least SIZE bytes long.
3050// If not successful, return NULL
3051// The allocated block is at least 1<<4
3052// The maximum allocation size is at most 1<<(36+4)
3053// func:amc.FDb.lpool.AllocMem
3054void* lpool_AllocMem(u64 size) __attribute__((__warn_unused_result__, nothrow));
3055// Add N buffers of some size to the free store
3056// Reserve NBUF buffers of size BUFSIZE from the base pool (algo_lib::sbrk)
3057// func:amc.FDb.lpool.ReserveBuffers
3058bool lpool_ReserveBuffers(u64 nbuf, u64 bufsize) __attribute__((nothrow));
3059// Allocate new block, copy old to new, delete old.
3060// If the new size is same as old size, do nothing.
3061// In all other cases, new memory is allocated (i.e. size reduction is not a no-op)
3062// If no memory, return NULL; old memory remains untouched
3063// func:amc.FDb.lpool.ReallocMem
3064void* lpool_ReallocMem(void* oldmem, u64 old_size, u64 new_size) __attribute__((nothrow));
3065// Allocate memory for new default row.
3066// If out of memory, process is killed.
3067// func:amc.FDb.lpool.Alloc
3068u8& lpool_Alloc() __attribute__((__warn_unused_result__, nothrow));
3069// Allocate memory for new element. If out of memory, return NULL.
3070// func:amc.FDb.lpool.AllocMaybe
3071u8* lpool_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3072// Remove row from all global and cross indices, then deallocate row
3073// func:amc.FDb.lpool.Delete
3074void lpool_Delete(u8 &row) __attribute__((nothrow));
3075
3076// Allocate memory for new default row.
3077// If out of memory, process is killed.
3078// func:amc.FDb.fsort.Alloc
3079amc::FFsort& fsort_Alloc() __attribute__((__warn_unused_result__, nothrow));
3080// Allocate memory for new element. If out of memory, return NULL.
3081// func:amc.FDb.fsort.AllocMaybe
3082amc::FFsort* fsort_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3083// Create new row from struct.
3084// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3085// func:amc.FDb.fsort.InsertMaybe
3086amc::FFsort* fsort_InsertMaybe(const dmmeta::Fsort &value) __attribute__((nothrow));
3087// Allocate space for one element. If no memory available, return NULL.
3088// func:amc.FDb.fsort.AllocMem
3089void* fsort_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3090// Return true if index is empty
3091// func:amc.FDb.fsort.EmptyQ
3092bool fsort_EmptyQ() __attribute__((nothrow, pure));
3093// Look up row by row id. Return NULL if out of range
3094// func:amc.FDb.fsort.Find
3095amc::FFsort* fsort_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3096// Return pointer to last element of array, or NULL if array is empty
3097// func:amc.FDb.fsort.Last
3098amc::FFsort* fsort_Last() __attribute__((nothrow, pure));
3099// Return number of items in the pool
3100// func:amc.FDb.fsort.N
3101i32 fsort_N() __attribute__((__warn_unused_result__, nothrow, pure));
3102// Delete last element of array. Do nothing if array is empty.
3103// func:amc.FDb.fsort.RemoveLast
3104void fsort_RemoveLast() __attribute__((nothrow));
3105// 'quick' Access row by row id. No bounds checking.
3106// func:amc.FDb.fsort.qFind
3107amc::FFsort& fsort_qFind(u64 t) __attribute__((nothrow, pure));
3108// Insert row into all appropriate indices. If error occurs, store error
3109// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3110// func:amc.FDb.fsort.XrefMaybe
3111bool fsort_XrefMaybe(amc::FFsort &row);
3112
3113// Return true if hash is empty
3114// func:amc.FDb.ind_cfmt.EmptyQ
3115bool ind_cfmt_EmptyQ() __attribute__((nothrow));
3116// Find row by key. Return NULL if not found.
3117// func:amc.FDb.ind_cfmt.Find
3118amc::FCfmt* ind_cfmt_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
3119// Find row by key. If not found, create and x-reference a new row with with this key.
3120// func:amc.FDb.ind_cfmt.GetOrCreate
3121amc::FCfmt& ind_cfmt_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
3122// Return number of items in the hash
3123// func:amc.FDb.ind_cfmt.N
3124i32 ind_cfmt_N() __attribute__((__warn_unused_result__, nothrow, pure));
3125// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
3126// func:amc.FDb.ind_cfmt.InsertMaybe
3127bool ind_cfmt_InsertMaybe(amc::FCfmt& row) __attribute__((nothrow));
3128// Remove reference to element from hash index. If element is not in hash, do nothing
3129// func:amc.FDb.ind_cfmt.Remove
3130void ind_cfmt_Remove(amc::FCfmt& row) __attribute__((nothrow));
3131// Reserve enough room in the hash for N more elements. Return success code.
3132// func:amc.FDb.ind_cfmt.Reserve
3133void ind_cfmt_Reserve(int n) __attribute__((nothrow));
3134
3135// Allocate memory for new default row.
3136// If out of memory, process is killed.
3137// func:amc.FDb.dispfilter.Alloc
3138amc::FDispfilter& dispfilter_Alloc() __attribute__((__warn_unused_result__, nothrow));
3139// Allocate memory for new element. If out of memory, return NULL.
3140// func:amc.FDb.dispfilter.AllocMaybe
3141amc::FDispfilter* dispfilter_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3142// Create new row from struct.
3143// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3144// func:amc.FDb.dispfilter.InsertMaybe
3145amc::FDispfilter* dispfilter_InsertMaybe(const dmmeta::Dispfilter &value) __attribute__((nothrow));
3146// Allocate space for one element. If no memory available, return NULL.
3147// func:amc.FDb.dispfilter.AllocMem
3148void* dispfilter_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3149// Return true if index is empty
3150// func:amc.FDb.dispfilter.EmptyQ
3151bool dispfilter_EmptyQ() __attribute__((nothrow, pure));
3152// Look up row by row id. Return NULL if out of range
3153// func:amc.FDb.dispfilter.Find
3154amc::FDispfilter* dispfilter_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3155// Return pointer to last element of array, or NULL if array is empty
3156// func:amc.FDb.dispfilter.Last
3157amc::FDispfilter* dispfilter_Last() __attribute__((nothrow, pure));
3158// Return number of items in the pool
3159// func:amc.FDb.dispfilter.N
3160i32 dispfilter_N() __attribute__((__warn_unused_result__, nothrow, pure));
3161// Delete last element of array. Do nothing if array is empty.
3162// func:amc.FDb.dispfilter.RemoveLast
3163void dispfilter_RemoveLast() __attribute__((nothrow));
3164// 'quick' Access row by row id. No bounds checking.
3165// func:amc.FDb.dispfilter.qFind
3166amc::FDispfilter& dispfilter_qFind(u64 t) __attribute__((nothrow, pure));
3167// Insert row into all appropriate indices. If error occurs, store error
3168// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3169// func:amc.FDb.dispfilter.XrefMaybe
3170bool dispfilter_XrefMaybe(amc::FDispfilter &row);
3171
3172// Allocate memory for new default row.
3173// If out of memory, process is killed.
3174// func:amc.FDb.usertracefld.Alloc
3175amc::FUsertracefld& usertracefld_Alloc() __attribute__((__warn_unused_result__, nothrow));
3176// Allocate memory for new element. If out of memory, return NULL.
3177// func:amc.FDb.usertracefld.AllocMaybe
3178amc::FUsertracefld* usertracefld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3179// Create new row from struct.
3180// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3181// func:amc.FDb.usertracefld.InsertMaybe
3182amc::FUsertracefld* usertracefld_InsertMaybe(const dmmeta::Usertracefld &value) __attribute__((nothrow));
3183// Allocate space for one element. If no memory available, return NULL.
3184// func:amc.FDb.usertracefld.AllocMem
3185void* usertracefld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3186// Return true if index is empty
3187// func:amc.FDb.usertracefld.EmptyQ
3188bool usertracefld_EmptyQ() __attribute__((nothrow, pure));
3189// Look up row by row id. Return NULL if out of range
3190// func:amc.FDb.usertracefld.Find
3191amc::FUsertracefld* usertracefld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3192// Return pointer to last element of array, or NULL if array is empty
3193// func:amc.FDb.usertracefld.Last
3194amc::FUsertracefld* usertracefld_Last() __attribute__((nothrow, pure));
3195// Return number of items in the pool
3196// func:amc.FDb.usertracefld.N
3197i32 usertracefld_N() __attribute__((__warn_unused_result__, nothrow, pure));
3198// Delete last element of array. Do nothing if array is empty.
3199// func:amc.FDb.usertracefld.RemoveLast
3200void usertracefld_RemoveLast() __attribute__((nothrow));
3201// 'quick' Access row by row id. No bounds checking.
3202// func:amc.FDb.usertracefld.qFind
3203amc::FUsertracefld& usertracefld_qFind(u64 t) __attribute__((nothrow, pure));
3204// Insert row into all appropriate indices. If error occurs, store error
3205// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3206// func:amc.FDb.usertracefld.XrefMaybe
3207bool usertracefld_XrefMaybe(amc::FUsertracefld &row);
3208
3209// Allocate memory for new default row.
3210// If out of memory, process is killed.
3211// func:amc.FDb.cfmt.Alloc
3212amc::FCfmt& cfmt_Alloc() __attribute__((__warn_unused_result__, nothrow));
3213// Allocate memory for new element. If out of memory, return NULL.
3214// func:amc.FDb.cfmt.AllocMaybe
3215amc::FCfmt* cfmt_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3216// Create new row from struct.
3217// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3218// func:amc.FDb.cfmt.InsertMaybe
3219amc::FCfmt* cfmt_InsertMaybe(const dmmeta::Cfmt &value) __attribute__((nothrow));
3220// Allocate space for one element. If no memory available, return NULL.
3221// func:amc.FDb.cfmt.AllocMem
3222void* cfmt_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3223// Return true if index is empty
3224// func:amc.FDb.cfmt.EmptyQ
3225bool cfmt_EmptyQ() __attribute__((nothrow, pure));
3226// Look up row by row id. Return NULL if out of range
3227// func:amc.FDb.cfmt.Find
3228amc::FCfmt* cfmt_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3229// Return pointer to last element of array, or NULL if array is empty
3230// func:amc.FDb.cfmt.Last
3231amc::FCfmt* cfmt_Last() __attribute__((nothrow, pure));
3232// Return number of items in the pool
3233// func:amc.FDb.cfmt.N
3234i32 cfmt_N() __attribute__((__warn_unused_result__, nothrow, pure));
3235// Delete last element of array. Do nothing if array is empty.
3236// func:amc.FDb.cfmt.RemoveLast
3237void cfmt_RemoveLast() __attribute__((nothrow));
3238// 'quick' Access row by row id. No bounds checking.
3239// func:amc.FDb.cfmt.qFind
3240amc::FCfmt& cfmt_qFind(u64 t) __attribute__((nothrow, pure));
3241// Insert row into all appropriate indices. If error occurs, store error
3242// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3243// func:amc.FDb.cfmt.XrefMaybe
3244bool cfmt_XrefMaybe(amc::FCfmt &row);
3245
3246// Allocate memory for new default row.
3247// If out of memory, process is killed.
3248// func:amc.FDb.dispatch.Alloc
3249amc::FDispatch& dispatch_Alloc() __attribute__((__warn_unused_result__, nothrow));
3250// Allocate memory for new element. If out of memory, return NULL.
3251// func:amc.FDb.dispatch.AllocMaybe
3252amc::FDispatch* dispatch_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3253// Create new row from struct.
3254// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3255// func:amc.FDb.dispatch.InsertMaybe
3256amc::FDispatch* dispatch_InsertMaybe(const dmmeta::Dispatch &value) __attribute__((nothrow));
3257// Allocate space for one element. If no memory available, return NULL.
3258// func:amc.FDb.dispatch.AllocMem
3259void* dispatch_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3260// Return true if index is empty
3261// func:amc.FDb.dispatch.EmptyQ
3262bool dispatch_EmptyQ() __attribute__((nothrow, pure));
3263// Look up row by row id. Return NULL if out of range
3264// func:amc.FDb.dispatch.Find
3265amc::FDispatch* dispatch_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3266// Return pointer to last element of array, or NULL if array is empty
3267// func:amc.FDb.dispatch.Last
3268amc::FDispatch* dispatch_Last() __attribute__((nothrow, pure));
3269// Return number of items in the pool
3270// func:amc.FDb.dispatch.N
3271i32 dispatch_N() __attribute__((__warn_unused_result__, nothrow, pure));
3272// Delete last element of array. Do nothing if array is empty.
3273// func:amc.FDb.dispatch.RemoveLast
3274void dispatch_RemoveLast() __attribute__((nothrow));
3275// 'quick' Access row by row id. No bounds checking.
3276// func:amc.FDb.dispatch.qFind
3277amc::FDispatch& dispatch_qFind(u64 t) __attribute__((nothrow, pure));
3278// Insert row into all appropriate indices. If error occurs, store error
3279// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3280// func:amc.FDb.dispatch.XrefMaybe
3281bool dispatch_XrefMaybe(amc::FDispatch &row);
3282
3283// Allocate memory for new default row.
3284// If out of memory, process is killed.
3285// func:amc.FDb.dispatch_msg.Alloc
3286amc::FDispatchmsg& dispatch_msg_Alloc() __attribute__((__warn_unused_result__, nothrow));
3287// Allocate memory for new element. If out of memory, return NULL.
3288// func:amc.FDb.dispatch_msg.AllocMaybe
3289amc::FDispatchmsg* dispatch_msg_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3290// Create new row from struct.
3291// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3292// func:amc.FDb.dispatch_msg.InsertMaybe
3293amc::FDispatchmsg* dispatch_msg_InsertMaybe(const dmmeta::DispatchMsg &value) __attribute__((nothrow));
3294// Allocate space for one element. If no memory available, return NULL.
3295// func:amc.FDb.dispatch_msg.AllocMem
3296void* dispatch_msg_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3297// Return true if index is empty
3298// func:amc.FDb.dispatch_msg.EmptyQ
3299bool dispatch_msg_EmptyQ() __attribute__((nothrow, pure));
3300// Look up row by row id. Return NULL if out of range
3301// func:amc.FDb.dispatch_msg.Find
3302amc::FDispatchmsg* dispatch_msg_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3303// Return pointer to last element of array, or NULL if array is empty
3304// func:amc.FDb.dispatch_msg.Last
3305amc::FDispatchmsg* dispatch_msg_Last() __attribute__((nothrow, pure));
3306// Return number of items in the pool
3307// func:amc.FDb.dispatch_msg.N
3308i32 dispatch_msg_N() __attribute__((__warn_unused_result__, nothrow, pure));
3309// Delete last element of array. Do nothing if array is empty.
3310// func:amc.FDb.dispatch_msg.RemoveLast
3311void dispatch_msg_RemoveLast() __attribute__((nothrow));
3312// 'quick' Access row by row id. No bounds checking.
3313// func:amc.FDb.dispatch_msg.qFind
3314amc::FDispatchmsg& dispatch_msg_qFind(u64 t) __attribute__((nothrow, pure));
3315// Insert row into all appropriate indices. If error occurs, store error
3316// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3317// func:amc.FDb.dispatch_msg.XrefMaybe
3318bool dispatch_msg_XrefMaybe(amc::FDispatchmsg &row);
3319
3320// Allocate memory for new default row.
3321// If out of memory, process is killed.
3322// func:amc.FDb.ctype.Alloc
3323amc::FCtype& ctype_Alloc() __attribute__((__warn_unused_result__, nothrow));
3324// Allocate memory for new element. If out of memory, return NULL.
3325// func:amc.FDb.ctype.AllocMaybe
3326amc::FCtype* ctype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3327// Create new row from struct.
3328// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3329// func:amc.FDb.ctype.InsertMaybe
3330amc::FCtype* ctype_InsertMaybe(const dmmeta::Ctype &value) __attribute__((nothrow));
3331// Allocate space for one element. If no memory available, return NULL.
3332// func:amc.FDb.ctype.AllocMem
3333void* ctype_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3334// Return true if index is empty
3335// func:amc.FDb.ctype.EmptyQ
3336bool ctype_EmptyQ() __attribute__((nothrow, pure));
3337// Look up row by row id. Return NULL if out of range
3338// func:amc.FDb.ctype.Find
3339amc::FCtype* ctype_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3340// Return pointer to last element of array, or NULL if array is empty
3341// func:amc.FDb.ctype.Last
3342amc::FCtype* ctype_Last() __attribute__((nothrow, pure));
3343// Return number of items in the pool
3344// func:amc.FDb.ctype.N
3345i32 ctype_N() __attribute__((__warn_unused_result__, nothrow, pure));
3346// Delete last element of array. Do nothing if array is empty.
3347// func:amc.FDb.ctype.RemoveLast
3348void ctype_RemoveLast() __attribute__((nothrow));
3349// 'quick' Access row by row id. No bounds checking.
3350// func:amc.FDb.ctype.qFind
3351amc::FCtype& ctype_qFind(u64 t) __attribute__((nothrow, pure));
3352// Insert row into all appropriate indices. If error occurs, store error
3353// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3354// func:amc.FDb.ctype.XrefMaybe
3355bool ctype_XrefMaybe(amc::FCtype &row);
3356
3357// Allocate memory for new default row.
3358// If out of memory, process is killed.
3359// func:amc.FDb.field.Alloc
3360amc::FField& field_Alloc() __attribute__((__warn_unused_result__, nothrow));
3361// Allocate memory for new element. If out of memory, return NULL.
3362// func:amc.FDb.field.AllocMaybe
3363amc::FField* field_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3364// Create new row from struct.
3365// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3366// func:amc.FDb.field.InsertMaybe
3367amc::FField* field_InsertMaybe(const dmmeta::Field &value) __attribute__((nothrow));
3368// Allocate space for one element. If no memory available, return NULL.
3369// func:amc.FDb.field.AllocMem
3370void* field_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3371// Return true if index is empty
3372// func:amc.FDb.field.EmptyQ
3373bool field_EmptyQ() __attribute__((nothrow, pure));
3374// Look up row by row id. Return NULL if out of range
3375// func:amc.FDb.field.Find
3376amc::FField* field_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3377// Return pointer to last element of array, or NULL if array is empty
3378// func:amc.FDb.field.Last
3379amc::FField* field_Last() __attribute__((nothrow, pure));
3380// Return number of items in the pool
3381// func:amc.FDb.field.N
3382i32 field_N() __attribute__((__warn_unused_result__, nothrow, pure));
3383// Delete last element of array. Do nothing if array is empty.
3384// func:amc.FDb.field.RemoveLast
3385void field_RemoveLast() __attribute__((nothrow));
3386// 'quick' Access row by row id. No bounds checking.
3387// func:amc.FDb.field.qFind
3388amc::FField& field_qFind(u64 t) __attribute__((nothrow, pure));
3389// Insert row into all appropriate indices. If error occurs, store error
3390// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3391// func:amc.FDb.field.XrefMaybe
3392bool field_XrefMaybe(amc::FField &row);
3393
3394// Allocate memory for new default row.
3395// If out of memory, process is killed.
3396// func:amc.FDb.basepool.Alloc
3397amc::FBasepool& basepool_Alloc() __attribute__((__warn_unused_result__, nothrow));
3398// Allocate memory for new element. If out of memory, return NULL.
3399// func:amc.FDb.basepool.AllocMaybe
3400amc::FBasepool* basepool_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3401// Create new row from struct.
3402// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3403// func:amc.FDb.basepool.InsertMaybe
3404amc::FBasepool* basepool_InsertMaybe(const dmmeta::Basepool &value) __attribute__((nothrow));
3405// Allocate space for one element. If no memory available, return NULL.
3406// func:amc.FDb.basepool.AllocMem
3407void* basepool_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3408// Return true if index is empty
3409// func:amc.FDb.basepool.EmptyQ
3410bool basepool_EmptyQ() __attribute__((nothrow, pure));
3411// Look up row by row id. Return NULL if out of range
3412// func:amc.FDb.basepool.Find
3413amc::FBasepool* basepool_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3414// Return pointer to last element of array, or NULL if array is empty
3415// func:amc.FDb.basepool.Last
3416amc::FBasepool* basepool_Last() __attribute__((nothrow, pure));
3417// Return number of items in the pool
3418// func:amc.FDb.basepool.N
3419i32 basepool_N() __attribute__((__warn_unused_result__, nothrow, pure));
3420// Delete last element of array. Do nothing if array is empty.
3421// func:amc.FDb.basepool.RemoveLast
3422void basepool_RemoveLast() __attribute__((nothrow));
3423// 'quick' Access row by row id. No bounds checking.
3424// func:amc.FDb.basepool.qFind
3425amc::FBasepool& basepool_qFind(u64 t) __attribute__((nothrow, pure));
3426// Insert row into all appropriate indices. If error occurs, store error
3427// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3428// func:amc.FDb.basepool.XrefMaybe
3429bool basepool_XrefMaybe(amc::FBasepool &row);
3430
3431// Allocate memory for new default row.
3432// If out of memory, process is killed.
3433// func:amc.FDb.llist.Alloc
3434amc::FLlist& llist_Alloc() __attribute__((__warn_unused_result__, nothrow));
3435// Allocate memory for new element. If out of memory, return NULL.
3436// func:amc.FDb.llist.AllocMaybe
3437amc::FLlist* llist_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3438// Create new row from struct.
3439// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3440// func:amc.FDb.llist.InsertMaybe
3441amc::FLlist* llist_InsertMaybe(const dmmeta::Llist &value) __attribute__((nothrow));
3442// Allocate space for one element. If no memory available, return NULL.
3443// func:amc.FDb.llist.AllocMem
3444void* llist_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3445// Return true if index is empty
3446// func:amc.FDb.llist.EmptyQ
3447bool llist_EmptyQ() __attribute__((nothrow, pure));
3448// Look up row by row id. Return NULL if out of range
3449// func:amc.FDb.llist.Find
3450amc::FLlist* llist_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3451// Return pointer to last element of array, or NULL if array is empty
3452// func:amc.FDb.llist.Last
3453amc::FLlist* llist_Last() __attribute__((nothrow, pure));
3454// Return number of items in the pool
3455// func:amc.FDb.llist.N
3456i32 llist_N() __attribute__((__warn_unused_result__, nothrow, pure));
3457// Delete last element of array. Do nothing if array is empty.
3458// func:amc.FDb.llist.RemoveLast
3459void llist_RemoveLast() __attribute__((nothrow));
3460// 'quick' Access row by row id. No bounds checking.
3461// func:amc.FDb.llist.qFind
3462amc::FLlist& llist_qFind(u64 t) __attribute__((nothrow, pure));
3463// Insert row into all appropriate indices. If error occurs, store error
3464// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3465// func:amc.FDb.llist.XrefMaybe
3466bool llist_XrefMaybe(amc::FLlist &row);
3467
3468// Allocate memory for new default row.
3469// If out of memory, process is killed.
3470// func:amc.FDb.anonfld.Alloc
3471amc::FAnonfld& anonfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
3472// Allocate memory for new element. If out of memory, return NULL.
3473// func:amc.FDb.anonfld.AllocMaybe
3474amc::FAnonfld* anonfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3475// Create new row from struct.
3476// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3477// func:amc.FDb.anonfld.InsertMaybe
3478amc::FAnonfld* anonfld_InsertMaybe(const dmmeta::Anonfld &value) __attribute__((nothrow));
3479// Allocate space for one element. If no memory available, return NULL.
3480// func:amc.FDb.anonfld.AllocMem
3481void* anonfld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3482// Return true if index is empty
3483// func:amc.FDb.anonfld.EmptyQ
3484bool anonfld_EmptyQ() __attribute__((nothrow, pure));
3485// Look up row by row id. Return NULL if out of range
3486// func:amc.FDb.anonfld.Find
3487amc::FAnonfld* anonfld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3488// Return pointer to last element of array, or NULL if array is empty
3489// func:amc.FDb.anonfld.Last
3490amc::FAnonfld* anonfld_Last() __attribute__((nothrow, pure));
3491// Return number of items in the pool
3492// func:amc.FDb.anonfld.N
3493i32 anonfld_N() __attribute__((__warn_unused_result__, nothrow, pure));
3494// Delete last element of array. Do nothing if array is empty.
3495// func:amc.FDb.anonfld.RemoveLast
3496void anonfld_RemoveLast() __attribute__((nothrow));
3497// 'quick' Access row by row id. No bounds checking.
3498// func:amc.FDb.anonfld.qFind
3499amc::FAnonfld& anonfld_qFind(u64 t) __attribute__((nothrow, pure));
3500// Insert row into all appropriate indices. If error occurs, store error
3501// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3502// func:amc.FDb.anonfld.XrefMaybe
3503bool anonfld_XrefMaybe(amc::FAnonfld &row);
3504
3505// Allocate memory for new default row.
3506// If out of memory, process is killed.
3507// func:amc.FDb.xref.Alloc
3508amc::FXref& xref_Alloc() __attribute__((__warn_unused_result__, nothrow));
3509// Allocate memory for new element. If out of memory, return NULL.
3510// func:amc.FDb.xref.AllocMaybe
3511amc::FXref* xref_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3512// Create new row from struct.
3513// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3514// func:amc.FDb.xref.InsertMaybe
3515amc::FXref* xref_InsertMaybe(const dmmeta::Xref &value) __attribute__((nothrow));
3516// Allocate space for one element. If no memory available, return NULL.
3517// func:amc.FDb.xref.AllocMem
3518void* xref_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3519// Return true if index is empty
3520// func:amc.FDb.xref.EmptyQ
3521bool xref_EmptyQ() __attribute__((nothrow, pure));
3522// Look up row by row id. Return NULL if out of range
3523// func:amc.FDb.xref.Find
3524amc::FXref* xref_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3525// Return pointer to last element of array, or NULL if array is empty
3526// func:amc.FDb.xref.Last
3527amc::FXref* xref_Last() __attribute__((nothrow, pure));
3528// Return number of items in the pool
3529// func:amc.FDb.xref.N
3530i32 xref_N() __attribute__((__warn_unused_result__, nothrow, pure));
3531// Delete last element of array. Do nothing if array is empty.
3532// func:amc.FDb.xref.RemoveLast
3533void xref_RemoveLast() __attribute__((nothrow));
3534// 'quick' Access row by row id. No bounds checking.
3535// func:amc.FDb.xref.qFind
3536amc::FXref& xref_qFind(u64 t) __attribute__((nothrow, pure));
3537// Insert row into all appropriate indices. If error occurs, store error
3538// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3539// func:amc.FDb.xref.XrefMaybe
3540bool xref_XrefMaybe(amc::FXref &row);
3541
3542// Allocate memory for new default row.
3543// If out of memory, process is killed.
3544// func:amc.FDb.ns.Alloc
3545amc::FNs& ns_Alloc() __attribute__((__warn_unused_result__, nothrow));
3546// Allocate memory for new element. If out of memory, return NULL.
3547// func:amc.FDb.ns.AllocMaybe
3548amc::FNs* ns_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3549// Create new row from struct.
3550// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3551// func:amc.FDb.ns.InsertMaybe
3552amc::FNs* ns_InsertMaybe(const dmmeta::Ns &value) __attribute__((nothrow));
3553// Allocate space for one element. If no memory available, return NULL.
3554// func:amc.FDb.ns.AllocMem
3555void* ns_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3556// Return true if index is empty
3557// func:amc.FDb.ns.EmptyQ
3558bool ns_EmptyQ() __attribute__((nothrow, pure));
3559// Look up row by row id. Return NULL if out of range
3560// func:amc.FDb.ns.Find
3561amc::FNs* ns_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3562// Return pointer to last element of array, or NULL if array is empty
3563// func:amc.FDb.ns.Last
3564amc::FNs* ns_Last() __attribute__((nothrow, pure));
3565// Return number of items in the pool
3566// func:amc.FDb.ns.N
3567i32 ns_N() __attribute__((__warn_unused_result__, nothrow, pure));
3568// Delete last element of array. Do nothing if array is empty.
3569// func:amc.FDb.ns.RemoveLast
3570void ns_RemoveLast() __attribute__((nothrow));
3571// 'quick' Access row by row id. No bounds checking.
3572// func:amc.FDb.ns.qFind
3573amc::FNs& ns_qFind(u64 t) __attribute__((nothrow, pure));
3574// Insert row into all appropriate indices. If error occurs, store error
3575// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3576// func:amc.FDb.ns.XrefMaybe
3577bool ns_XrefMaybe(amc::FNs &row);
3578
3579// Allocate memory for new default row.
3580// If out of memory, process is killed.
3581// func:amc.FDb.pnew.Alloc
3582amc::FPnew& pnew_Alloc() __attribute__((__warn_unused_result__, nothrow));
3583// Allocate memory for new element. If out of memory, return NULL.
3584// func:amc.FDb.pnew.AllocMaybe
3585amc::FPnew* pnew_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3586// Create new row from struct.
3587// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3588// func:amc.FDb.pnew.InsertMaybe
3589amc::FPnew* pnew_InsertMaybe(const dmmeta::Pnew &value) __attribute__((nothrow));
3590// Allocate space for one element. If no memory available, return NULL.
3591// func:amc.FDb.pnew.AllocMem
3592void* pnew_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3593// Return true if index is empty
3594// func:amc.FDb.pnew.EmptyQ
3595bool pnew_EmptyQ() __attribute__((nothrow, pure));
3596// Look up row by row id. Return NULL if out of range
3597// func:amc.FDb.pnew.Find
3598amc::FPnew* pnew_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3599// Return pointer to last element of array, or NULL if array is empty
3600// func:amc.FDb.pnew.Last
3601amc::FPnew* pnew_Last() __attribute__((nothrow, pure));
3602// Return number of items in the pool
3603// func:amc.FDb.pnew.N
3604i32 pnew_N() __attribute__((__warn_unused_result__, nothrow, pure));
3605// Delete last element of array. Do nothing if array is empty.
3606// func:amc.FDb.pnew.RemoveLast
3607void pnew_RemoveLast() __attribute__((nothrow));
3608// 'quick' Access row by row id. No bounds checking.
3609// func:amc.FDb.pnew.qFind
3610amc::FPnew& pnew_qFind(u64 t) __attribute__((nothrow, pure));
3611// Insert row into all appropriate indices. If error occurs, store error
3612// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3613// func:amc.FDb.pnew.XrefMaybe
3614bool pnew_XrefMaybe(amc::FPnew &row);
3615
3616// Allocate memory for new default row.
3617// If out of memory, process is killed.
3618// func:amc.FDb.fldoffset.Alloc
3619amc::FFldoffset& fldoffset_Alloc() __attribute__((__warn_unused_result__, nothrow));
3620// Allocate memory for new element. If out of memory, return NULL.
3621// func:amc.FDb.fldoffset.AllocMaybe
3622amc::FFldoffset* fldoffset_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3623// Create new row from struct.
3624// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3625// func:amc.FDb.fldoffset.InsertMaybe
3626amc::FFldoffset* fldoffset_InsertMaybe(const dmmeta::Fldoffset &value) __attribute__((nothrow));
3627// Allocate space for one element. If no memory available, return NULL.
3628// func:amc.FDb.fldoffset.AllocMem
3629void* fldoffset_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3630// Return true if index is empty
3631// func:amc.FDb.fldoffset.EmptyQ
3632bool fldoffset_EmptyQ() __attribute__((nothrow, pure));
3633// Look up row by row id. Return NULL if out of range
3634// func:amc.FDb.fldoffset.Find
3635amc::FFldoffset* fldoffset_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3636// Return pointer to last element of array, or NULL if array is empty
3637// func:amc.FDb.fldoffset.Last
3638amc::FFldoffset* fldoffset_Last() __attribute__((nothrow, pure));
3639// Return number of items in the pool
3640// func:amc.FDb.fldoffset.N
3641i32 fldoffset_N() __attribute__((__warn_unused_result__, nothrow, pure));
3642// Delete last element of array. Do nothing if array is empty.
3643// func:amc.FDb.fldoffset.RemoveLast
3644void fldoffset_RemoveLast() __attribute__((nothrow));
3645// 'quick' Access row by row id. No bounds checking.
3646// func:amc.FDb.fldoffset.qFind
3647amc::FFldoffset& fldoffset_qFind(u64 t) __attribute__((nothrow, pure));
3648// Insert row into all appropriate indices. If error occurs, store error
3649// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3650// func:amc.FDb.fldoffset.XrefMaybe
3651bool fldoffset_XrefMaybe(amc::FFldoffset &row);
3652
3653// Allocate memory for new default row.
3654// If out of memory, process is killed.
3655// func:amc.FDb.typefld.Alloc
3656amc::FTypefld& typefld_Alloc() __attribute__((__warn_unused_result__, nothrow));
3657// Allocate memory for new element. If out of memory, return NULL.
3658// func:amc.FDb.typefld.AllocMaybe
3659amc::FTypefld* typefld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3660// Create new row from struct.
3661// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3662// func:amc.FDb.typefld.InsertMaybe
3663amc::FTypefld* typefld_InsertMaybe(const dmmeta::Typefld &value) __attribute__((nothrow));
3664// Allocate space for one element. If no memory available, return NULL.
3665// func:amc.FDb.typefld.AllocMem
3666void* typefld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3667// Return true if index is empty
3668// func:amc.FDb.typefld.EmptyQ
3669bool typefld_EmptyQ() __attribute__((nothrow, pure));
3670// Look up row by row id. Return NULL if out of range
3671// func:amc.FDb.typefld.Find
3672amc::FTypefld* typefld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3673// Return pointer to last element of array, or NULL if array is empty
3674// func:amc.FDb.typefld.Last
3675amc::FTypefld* typefld_Last() __attribute__((nothrow, pure));
3676// Return number of items in the pool
3677// func:amc.FDb.typefld.N
3678i32 typefld_N() __attribute__((__warn_unused_result__, nothrow, pure));
3679// Delete last element of array. Do nothing if array is empty.
3680// func:amc.FDb.typefld.RemoveLast
3681void typefld_RemoveLast() __attribute__((nothrow));
3682// 'quick' Access row by row id. No bounds checking.
3683// func:amc.FDb.typefld.qFind
3684amc::FTypefld& typefld_qFind(u64 t) __attribute__((nothrow, pure));
3685// Insert row into all appropriate indices. If error occurs, store error
3686// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3687// func:amc.FDb.typefld.XrefMaybe
3688bool typefld_XrefMaybe(amc::FTypefld &row);
3689
3690// Allocate memory for new default row.
3691// If out of memory, process is killed.
3692// func:amc.FDb.lenfld.Alloc
3693amc::FLenfld& lenfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
3694// Allocate memory for new element. If out of memory, return NULL.
3695// func:amc.FDb.lenfld.AllocMaybe
3696amc::FLenfld* lenfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3697// Create new row from struct.
3698// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3699// func:amc.FDb.lenfld.InsertMaybe
3700amc::FLenfld* lenfld_InsertMaybe(const dmmeta::Lenfld &value) __attribute__((nothrow));
3701// Allocate space for one element. If no memory available, return NULL.
3702// func:amc.FDb.lenfld.AllocMem
3703void* lenfld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3704// Return true if index is empty
3705// func:amc.FDb.lenfld.EmptyQ
3706bool lenfld_EmptyQ() __attribute__((nothrow, pure));
3707// Look up row by row id. Return NULL if out of range
3708// func:amc.FDb.lenfld.Find
3709amc::FLenfld* lenfld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3710// Return pointer to last element of array, or NULL if array is empty
3711// func:amc.FDb.lenfld.Last
3712amc::FLenfld* lenfld_Last() __attribute__((nothrow, pure));
3713// Return number of items in the pool
3714// func:amc.FDb.lenfld.N
3715i32 lenfld_N() __attribute__((__warn_unused_result__, nothrow, pure));
3716// Delete last element of array. Do nothing if array is empty.
3717// func:amc.FDb.lenfld.RemoveLast
3718void lenfld_RemoveLast() __attribute__((nothrow));
3719// 'quick' Access row by row id. No bounds checking.
3720// func:amc.FDb.lenfld.qFind
3721amc::FLenfld& lenfld_qFind(u64 t) __attribute__((nothrow, pure));
3722// Insert row into all appropriate indices. If error occurs, store error
3723// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3724// func:amc.FDb.lenfld.XrefMaybe
3725bool lenfld_XrefMaybe(amc::FLenfld &row);
3726
3727// Allocate memory for new default row.
3728// If out of memory, process is killed.
3729// func:amc.FDb.bltin.Alloc
3730amc::FBltin& bltin_Alloc() __attribute__((__warn_unused_result__, nothrow));
3731// Allocate memory for new element. If out of memory, return NULL.
3732// func:amc.FDb.bltin.AllocMaybe
3733amc::FBltin* bltin_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3734// Create new row from struct.
3735// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3736// func:amc.FDb.bltin.InsertMaybe
3737amc::FBltin* bltin_InsertMaybe(const amcdb::Bltin &value) __attribute__((nothrow));
3738// Allocate space for one element. If no memory available, return NULL.
3739// func:amc.FDb.bltin.AllocMem
3740void* bltin_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3741// Return true if index is empty
3742// func:amc.FDb.bltin.EmptyQ
3743bool bltin_EmptyQ() __attribute__((nothrow, pure));
3744// Look up row by row id. Return NULL if out of range
3745// func:amc.FDb.bltin.Find
3746amc::FBltin* bltin_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3747// Return pointer to last element of array, or NULL if array is empty
3748// func:amc.FDb.bltin.Last
3749amc::FBltin* bltin_Last() __attribute__((nothrow, pure));
3750// Return number of items in the pool
3751// func:amc.FDb.bltin.N
3752i32 bltin_N() __attribute__((__warn_unused_result__, nothrow, pure));
3753// Delete last element of array. Do nothing if array is empty.
3754// func:amc.FDb.bltin.RemoveLast
3755void bltin_RemoveLast() __attribute__((nothrow));
3756// 'quick' Access row by row id. No bounds checking.
3757// func:amc.FDb.bltin.qFind
3758amc::FBltin& bltin_qFind(u64 t) __attribute__((nothrow, pure));
3759// Insert row into all appropriate indices. If error occurs, store error
3760// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3761// func:amc.FDb.bltin.XrefMaybe
3762bool bltin_XrefMaybe(amc::FBltin &row);
3763
3764// Allocate memory for new default row.
3765// If out of memory, process is killed.
3766// func:amc.FDb.static_tuple.Alloc
3767amc::FStatictuple& static_tuple_Alloc() __attribute__((__warn_unused_result__, nothrow));
3768// Allocate memory for new element. If out of memory, return NULL.
3769// func:amc.FDb.static_tuple.AllocMaybe
3770amc::FStatictuple* static_tuple_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3771// Allocate space for one element. If no memory available, return NULL.
3772// func:amc.FDb.static_tuple.AllocMem
3773void* static_tuple_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3774// Return true if index is empty
3775// func:amc.FDb.static_tuple.EmptyQ
3776bool static_tuple_EmptyQ() __attribute__((nothrow, pure));
3777// Look up row by row id. Return NULL if out of range
3778// func:amc.FDb.static_tuple.Find
3779amc::FStatictuple* static_tuple_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3780// Return pointer to last element of array, or NULL if array is empty
3781// func:amc.FDb.static_tuple.Last
3782amc::FStatictuple* static_tuple_Last() __attribute__((nothrow, pure));
3783// Return number of items in the pool
3784// func:amc.FDb.static_tuple.N
3785i32 static_tuple_N() __attribute__((__warn_unused_result__, nothrow, pure));
3786// Remove all elements from Lary
3787// func:amc.FDb.static_tuple.RemoveAll
3788void static_tuple_RemoveAll() __attribute__((nothrow));
3789// Delete last element of array. Do nothing if array is empty.
3790// func:amc.FDb.static_tuple.RemoveLast
3791void static_tuple_RemoveLast() __attribute__((nothrow));
3792// 'quick' Access row by row id. No bounds checking.
3793// func:amc.FDb.static_tuple.qFind
3794amc::FStatictuple& static_tuple_qFind(u64 t) __attribute__((nothrow, pure));
3795// Insert row into all appropriate indices. If error occurs, store error
3796// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3797// func:amc.FDb.static_tuple.XrefMaybe
3798bool static_tuple_XrefMaybe(amc::FStatictuple &row);
3799
3800// Allocate memory for new default row.
3801// If out of memory, process is killed.
3802// func:amc.FDb.msgtype.Alloc
3803amc::FMsgtype& msgtype_Alloc() __attribute__((__warn_unused_result__, nothrow));
3804// Allocate memory for new element. If out of memory, return NULL.
3805// func:amc.FDb.msgtype.AllocMaybe
3806amc::FMsgtype* msgtype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3807// Create new row from struct.
3808// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3809// func:amc.FDb.msgtype.InsertMaybe
3810amc::FMsgtype* msgtype_InsertMaybe(const dmmeta::Msgtype &value) __attribute__((nothrow));
3811// Allocate space for one element. If no memory available, return NULL.
3812// func:amc.FDb.msgtype.AllocMem
3813void* msgtype_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3814// Return true if index is empty
3815// func:amc.FDb.msgtype.EmptyQ
3816bool msgtype_EmptyQ() __attribute__((nothrow, pure));
3817// Look up row by row id. Return NULL if out of range
3818// func:amc.FDb.msgtype.Find
3819amc::FMsgtype* msgtype_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3820// Return pointer to last element of array, or NULL if array is empty
3821// func:amc.FDb.msgtype.Last
3822amc::FMsgtype* msgtype_Last() __attribute__((nothrow, pure));
3823// Return number of items in the pool
3824// func:amc.FDb.msgtype.N
3825i32 msgtype_N() __attribute__((__warn_unused_result__, nothrow, pure));
3826// Delete last element of array. Do nothing if array is empty.
3827// func:amc.FDb.msgtype.RemoveLast
3828void msgtype_RemoveLast() __attribute__((nothrow));
3829// 'quick' Access row by row id. No bounds checking.
3830// func:amc.FDb.msgtype.qFind
3831amc::FMsgtype& msgtype_qFind(u64 t) __attribute__((nothrow, pure));
3832// Insert row into all appropriate indices. If error occurs, store error
3833// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3834// func:amc.FDb.msgtype.XrefMaybe
3835bool msgtype_XrefMaybe(amc::FMsgtype &row);
3836
3837// Allocate memory for new default row.
3838// If out of memory, process is killed.
3839// func:amc.FDb.gconst.Alloc
3840amc::FGconst& gconst_Alloc() __attribute__((__warn_unused_result__, nothrow));
3841// Allocate memory for new element. If out of memory, return NULL.
3842// func:amc.FDb.gconst.AllocMaybe
3843amc::FGconst* gconst_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3844// Create new row from struct.
3845// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3846// func:amc.FDb.gconst.InsertMaybe
3847amc::FGconst* gconst_InsertMaybe(const dmmeta::Gconst &value) __attribute__((nothrow));
3848// Allocate space for one element. If no memory available, return NULL.
3849// func:amc.FDb.gconst.AllocMem
3850void* gconst_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3851// Return true if index is empty
3852// func:amc.FDb.gconst.EmptyQ
3853bool gconst_EmptyQ() __attribute__((nothrow, pure));
3854// Look up row by row id. Return NULL if out of range
3855// func:amc.FDb.gconst.Find
3856amc::FGconst* gconst_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3857// Return pointer to last element of array, or NULL if array is empty
3858// func:amc.FDb.gconst.Last
3859amc::FGconst* gconst_Last() __attribute__((nothrow, pure));
3860// Return number of items in the pool
3861// func:amc.FDb.gconst.N
3862i32 gconst_N() __attribute__((__warn_unused_result__, nothrow, pure));
3863// Delete last element of array. Do nothing if array is empty.
3864// func:amc.FDb.gconst.RemoveLast
3865void gconst_RemoveLast() __attribute__((nothrow));
3866// 'quick' Access row by row id. No bounds checking.
3867// func:amc.FDb.gconst.qFind
3868amc::FGconst& gconst_qFind(u64 t) __attribute__((nothrow, pure));
3869// Insert row into all appropriate indices. If error occurs, store error
3870// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3871// func:amc.FDb.gconst.XrefMaybe
3872bool gconst_XrefMaybe(amc::FGconst &row);
3873
3874// Allocate memory for new default row.
3875// If out of memory, process is killed.
3876// func:amc.FDb.gstatic.Alloc
3877amc::FGstatic& gstatic_Alloc() __attribute__((__warn_unused_result__, nothrow));
3878// Allocate memory for new element. If out of memory, return NULL.
3879// func:amc.FDb.gstatic.AllocMaybe
3880amc::FGstatic* gstatic_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3881// Create new row from struct.
3882// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3883// func:amc.FDb.gstatic.InsertMaybe
3884amc::FGstatic* gstatic_InsertMaybe(const dmmeta::Gstatic &value) __attribute__((nothrow));
3885// Allocate space for one element. If no memory available, return NULL.
3886// func:amc.FDb.gstatic.AllocMem
3887void* gstatic_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3888// Return true if index is empty
3889// func:amc.FDb.gstatic.EmptyQ
3890bool gstatic_EmptyQ() __attribute__((nothrow, pure));
3891// Look up row by row id. Return NULL if out of range
3892// func:amc.FDb.gstatic.Find
3893amc::FGstatic* gstatic_Find(u32 t) __attribute__((__warn_unused_result__, nothrow, pure));
3894// Return pointer to last element of array, or NULL if array is empty
3895// func:amc.FDb.gstatic.Last
3896amc::FGstatic* gstatic_Last() __attribute__((nothrow, pure));
3897// Return number of items in the pool
3898// func:amc.FDb.gstatic.N
3899i32 gstatic_N() __attribute__((__warn_unused_result__, nothrow, pure));
3900// Delete last element of array. Do nothing if array is empty.
3901// func:amc.FDb.gstatic.RemoveLast
3902void gstatic_RemoveLast() __attribute__((nothrow));
3903// 'quick' Access row by row id. No bounds checking.
3904// func:amc.FDb.gstatic.qFind
3905amc::FGstatic& gstatic_qFind(u32 t) __attribute__((nothrow, pure));
3906// Insert row into all appropriate indices. If error occurs, store error
3907// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3908// func:amc.FDb.gstatic.XrefMaybe
3909bool gstatic_XrefMaybe(amc::FGstatic &row);
3910
3911// Allocate memory for new default row.
3912// If out of memory, process is killed.
3913// func:amc.FDb.thash.Alloc
3914amc::FThash& thash_Alloc() __attribute__((__warn_unused_result__, nothrow));
3915// Allocate memory for new element. If out of memory, return NULL.
3916// func:amc.FDb.thash.AllocMaybe
3917amc::FThash* thash_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3918// Create new row from struct.
3919// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3920// func:amc.FDb.thash.InsertMaybe
3921amc::FThash* thash_InsertMaybe(const dmmeta::Thash &value) __attribute__((nothrow));
3922// Allocate space for one element. If no memory available, return NULL.
3923// func:amc.FDb.thash.AllocMem
3924void* thash_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3925// Return true if index is empty
3926// func:amc.FDb.thash.EmptyQ
3927bool thash_EmptyQ() __attribute__((nothrow, pure));
3928// Look up row by row id. Return NULL if out of range
3929// func:amc.FDb.thash.Find
3930amc::FThash* thash_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3931// Return pointer to last element of array, or NULL if array is empty
3932// func:amc.FDb.thash.Last
3933amc::FThash* thash_Last() __attribute__((nothrow, pure));
3934// Return number of items in the pool
3935// func:amc.FDb.thash.N
3936i32 thash_N() __attribute__((__warn_unused_result__, nothrow, pure));
3937// Delete last element of array. Do nothing if array is empty.
3938// func:amc.FDb.thash.RemoveLast
3939void thash_RemoveLast() __attribute__((nothrow));
3940// 'quick' Access row by row id. No bounds checking.
3941// func:amc.FDb.thash.qFind
3942amc::FThash& thash_qFind(u64 t) __attribute__((nothrow, pure));
3943// Insert row into all appropriate indices. If error occurs, store error
3944// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3945// func:amc.FDb.thash.XrefMaybe
3946bool thash_XrefMaybe(amc::FThash &row);
3947
3948// Allocate memory for new default row.
3949// If out of memory, process is killed.
3950// func:amc.FDb.outfile.Alloc
3951amc::FOutfile& outfile_Alloc() __attribute__((__warn_unused_result__, nothrow));
3952// Allocate memory for new element. If out of memory, return NULL.
3953// func:amc.FDb.outfile.AllocMaybe
3954amc::FOutfile* outfile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3955// Remove row from all global and cross indices, then deallocate row
3956// func:amc.FDb.outfile.Delete
3957void outfile_Delete(amc::FOutfile &row) __attribute__((nothrow));
3958// Allocate space for one element
3959// If no memory available, return NULL.
3960// func:amc.FDb.outfile.AllocMem
3961void* outfile_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3962// Remove mem from all global and cross indices, then deallocate mem
3963// func:amc.FDb.outfile.FreeMem
3964void outfile_FreeMem(amc::FOutfile &row) __attribute__((nothrow));
3965// Preallocate memory for N more elements
3966// Return number of elements actually reserved.
3967// func:amc.FDb.outfile.Reserve
3968u64 outfile_Reserve(u64 n_elems) __attribute__((nothrow));
3969// Allocate block of given size, break up into small elements and append to free list.
3970// Return number of elements reserved.
3971// func:amc.FDb.outfile.ReserveMem
3972u64 outfile_ReserveMem(u64 size) __attribute__((nothrow));
3973// Insert row into all appropriate indices. If error occurs, store error
3974// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
3975// func:amc.FDb.outfile.XrefMaybe
3976bool outfile_XrefMaybe(amc::FOutfile &row);
3977
3978// Allocate memory for new default row.
3979// If out of memory, process is killed.
3980// func:amc.FDb.func.Alloc
3981amc::FFunc& func_Alloc() __attribute__((__warn_unused_result__, nothrow));
3982// Allocate memory for new element. If out of memory, return NULL.
3983// func:amc.FDb.func.AllocMaybe
3984amc::FFunc* func_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
3985// Create new row from struct.
3986// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
3987// func:amc.FDb.func.InsertMaybe
3988amc::FFunc* func_InsertMaybe(const dmmeta::Func &value) __attribute__((nothrow));
3989// Allocate space for one element. If no memory available, return NULL.
3990// func:amc.FDb.func.AllocMem
3991void* func_AllocMem() __attribute__((__warn_unused_result__, nothrow));
3992// Return true if index is empty
3993// func:amc.FDb.func.EmptyQ
3994bool func_EmptyQ() __attribute__((nothrow, pure));
3995// Look up row by row id. Return NULL if out of range
3996// func:amc.FDb.func.Find
3997amc::FFunc* func_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
3998// Return pointer to last element of array, or NULL if array is empty
3999// func:amc.FDb.func.Last
4000amc::FFunc* func_Last() __attribute__((nothrow, pure));
4001// Return number of items in the pool
4002// func:amc.FDb.func.N
4003i32 func_N() __attribute__((__warn_unused_result__, nothrow, pure));
4004// Delete last element of array. Do nothing if array is empty.
4005// func:amc.FDb.func.RemoveLast
4006void func_RemoveLast() __attribute__((nothrow));
4007// 'quick' Access row by row id. No bounds checking.
4008// func:amc.FDb.func.qFind
4009amc::FFunc& func_qFind(u64 t) __attribute__((nothrow, pure));
4010// Insert row into all appropriate indices. If error occurs, store error
4011// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4012// func:amc.FDb.func.XrefMaybe
4013bool func_XrefMaybe(amc::FFunc &row);
4014
4015// Allocate memory for new default row.
4016// If out of memory, process is killed.
4017// func:amc.FDb.smallstr.Alloc
4018amc::FSmallstr& smallstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
4019// Allocate memory for new element. If out of memory, return NULL.
4020// func:amc.FDb.smallstr.AllocMaybe
4021amc::FSmallstr* smallstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4022// Create new row from struct.
4023// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4024// func:amc.FDb.smallstr.InsertMaybe
4025amc::FSmallstr* smallstr_InsertMaybe(const dmmeta::Smallstr &value) __attribute__((nothrow));
4026// Allocate space for one element. If no memory available, return NULL.
4027// func:amc.FDb.smallstr.AllocMem
4028void* smallstr_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4029// Return true if index is empty
4030// func:amc.FDb.smallstr.EmptyQ
4031bool smallstr_EmptyQ() __attribute__((nothrow, pure));
4032// Look up row by row id. Return NULL if out of range
4033// func:amc.FDb.smallstr.Find
4034amc::FSmallstr* smallstr_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
4035// Return pointer to last element of array, or NULL if array is empty
4036// func:amc.FDb.smallstr.Last
4037amc::FSmallstr* smallstr_Last() __attribute__((nothrow, pure));
4038// Return number of items in the pool
4039// func:amc.FDb.smallstr.N
4040i32 smallstr_N() __attribute__((__warn_unused_result__, nothrow, pure));
4041// Delete last element of array. Do nothing if array is empty.
4042// func:amc.FDb.smallstr.RemoveLast
4043void smallstr_RemoveLast() __attribute__((nothrow));
4044// 'quick' Access row by row id. No bounds checking.
4045// func:amc.FDb.smallstr.qFind
4046amc::FSmallstr& smallstr_qFind(u64 t) __attribute__((nothrow, pure));
4047// Insert row into all appropriate indices. If error occurs, store error
4048// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4049// func:amc.FDb.smallstr.XrefMaybe
4050bool smallstr_XrefMaybe(amc::FSmallstr &row);
4051
4052// Allocate memory for new default row.
4053// If out of memory, process is killed.
4054// func:amc.FDb.numstr.Alloc
4055amc::FNumstr& numstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
4056// Allocate memory for new element. If out of memory, return NULL.
4057// func:amc.FDb.numstr.AllocMaybe
4058amc::FNumstr* numstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4059// Create new row from struct.
4060// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4061// func:amc.FDb.numstr.InsertMaybe
4062amc::FNumstr* numstr_InsertMaybe(const dmmeta::Numstr &value) __attribute__((nothrow));
4063// Allocate space for one element. If no memory available, return NULL.
4064// func:amc.FDb.numstr.AllocMem
4065void* numstr_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4066// Return true if index is empty
4067// func:amc.FDb.numstr.EmptyQ
4068bool numstr_EmptyQ() __attribute__((nothrow, pure));
4069// Look up row by row id. Return NULL if out of range
4070// func:amc.FDb.numstr.Find
4071amc::FNumstr* numstr_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
4072// Return pointer to last element of array, or NULL if array is empty
4073// func:amc.FDb.numstr.Last
4074amc::FNumstr* numstr_Last() __attribute__((nothrow, pure));
4075// Return number of items in the pool
4076// func:amc.FDb.numstr.N
4077i32 numstr_N() __attribute__((__warn_unused_result__, nothrow, pure));
4078// Delete last element of array. Do nothing if array is empty.
4079// func:amc.FDb.numstr.RemoveLast
4080void numstr_RemoveLast() __attribute__((nothrow));
4081// 'quick' Access row by row id. No bounds checking.
4082// func:amc.FDb.numstr.qFind
4083amc::FNumstr& numstr_qFind(u64 t) __attribute__((nothrow, pure));
4084// Insert row into all appropriate indices. If error occurs, store error
4085// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4086// func:amc.FDb.numstr.XrefMaybe
4087bool numstr_XrefMaybe(amc::FNumstr &row);
4088
4089// Allocate memory for new default row.
4090// If out of memory, process is killed.
4091// func:amc.FDb.main.Alloc
4092amc::FMain& main_Alloc() __attribute__((__warn_unused_result__, nothrow));
4093// Allocate memory for new element. If out of memory, return NULL.
4094// func:amc.FDb.main.AllocMaybe
4095amc::FMain* main_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4096// Create new row from struct.
4097// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4098// func:amc.FDb.main.InsertMaybe
4099amc::FMain* main_InsertMaybe(const dmmeta::Main &value) __attribute__((nothrow));
4100// Allocate space for one element. If no memory available, return NULL.
4101// func:amc.FDb.main.AllocMem
4102void* main_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4103// Return true if index is empty
4104// func:amc.FDb.main.EmptyQ
4105bool main_EmptyQ() __attribute__((nothrow, pure));
4106// Look up row by row id. Return NULL if out of range
4107// func:amc.FDb.main.Find
4108amc::FMain* main_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
4109// Return pointer to last element of array, or NULL if array is empty
4110// func:amc.FDb.main.Last
4111amc::FMain* main_Last() __attribute__((nothrow, pure));
4112// Return number of items in the pool
4113// func:amc.FDb.main.N
4114i32 main_N() __attribute__((__warn_unused_result__, nothrow, pure));
4115// Delete last element of array. Do nothing if array is empty.
4116// func:amc.FDb.main.RemoveLast
4117void main_RemoveLast() __attribute__((nothrow));
4118// 'quick' Access row by row id. No bounds checking.
4119// func:amc.FDb.main.qFind
4120amc::FMain& main_qFind(u64 t) __attribute__((nothrow, pure));
4121// Insert row into all appropriate indices. If error occurs, store error
4122// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4123// func:amc.FDb.main.XrefMaybe
4124bool main_XrefMaybe(amc::FMain &row);
4125
4126// Allocate memory for new default row.
4127// If out of memory, process is killed.
4128// func:amc.FDb.reftype.Alloc
4129amc::FReftype& reftype_Alloc() __attribute__((__warn_unused_result__, nothrow));
4130// Allocate memory for new element. If out of memory, return NULL.
4131// func:amc.FDb.reftype.AllocMaybe
4132amc::FReftype* reftype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4133// Create new row from struct.
4134// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4135// func:amc.FDb.reftype.InsertMaybe
4136amc::FReftype* reftype_InsertMaybe(const dmmeta::Reftype &value) __attribute__((nothrow));
4137// Allocate space for one element. If no memory available, return NULL.
4138// func:amc.FDb.reftype.AllocMem
4139void* reftype_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4140// Return true if index is empty
4141// func:amc.FDb.reftype.EmptyQ
4142bool reftype_EmptyQ() __attribute__((nothrow, pure));
4143// Look up row by row id. Return NULL if out of range
4144// func:amc.FDb.reftype.Find
4145amc::FReftype* reftype_Find(i32 t) __attribute__((__warn_unused_result__, nothrow, pure));
4146// Return pointer to last element of array, or NULL if array is empty
4147// func:amc.FDb.reftype.Last
4148amc::FReftype* reftype_Last() __attribute__((nothrow, pure));
4149// Return number of items in the pool
4150// func:amc.FDb.reftype.N
4151i32 reftype_N() __attribute__((__warn_unused_result__, nothrow, pure));
4152// Remove all elements from Lary
4153// func:amc.FDb.reftype.RemoveAll
4154void reftype_RemoveAll() __attribute__((nothrow));
4155// Delete last element of array. Do nothing if array is empty.
4156// func:amc.FDb.reftype.RemoveLast
4157void reftype_RemoveLast() __attribute__((nothrow));
4158// 'quick' Access row by row id. No bounds checking.
4159// func:amc.FDb.reftype.qFind
4160amc::FReftype& reftype_qFind(i32 t) __attribute__((nothrow, pure));
4161// Insert row into all appropriate indices. If error occurs, store error
4162// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4163// func:amc.FDb.reftype.XrefMaybe
4164bool reftype_XrefMaybe(amc::FReftype &row);
4165
4166// Read argc,argv directly into the fields of the command line(s)
4167// The following fields are updated:
4168// amc.FDb.cmdline
4169// algo_lib.FDb.cmdline
4170// func:amc.FDb._db.ReadArgv
4171void ReadArgv() __attribute__((nothrow));
4172// Main loop.
4173// func:amc.FDb._db.MainLoop
4174void MainLoop();
4175// Main step
4176// func:amc.FDb._db.Step
4177void Step();
4178// Main function
4179// func:amc.FDb._db.Main
4180// this function is 'extrn' and implemented by user
4181void Main();
4182// Parse strptr into known type and add to database.
4183// Return value is true unless an error occurs. If return value is false, algo_lib::_db.errtext has error text
4184// func:amc.FDb._db.InsertStrptrMaybe
4185bool InsertStrptrMaybe(algo::strptr str);
4186// Load all finputs from given directory.
4187// func:amc.FDb._db.LoadTuplesMaybe
4188bool LoadTuplesMaybe(algo::strptr root, bool recursive) __attribute__((nothrow));
4189// Load all finputs from given file.
4190// Read tuples from file FNAME into this namespace's in-memory database.
4191// If RECURSIVE is TRUE, then also load these tuples into any parent namespaces
4192// It a file referred to by FNAME is missing, no error is reported (it's considered an empty set).
4193// Function returns TRUE if all records were parsed and inserted without error.
4194// If the function returns FALSE, use algo_lib::DetachBadTags() for error description
4195// func:amc.FDb._db.LoadTuplesFile
4196bool LoadTuplesFile(algo::strptr fname, bool recursive) __attribute__((nothrow));
4197// Load all finputs from given file descriptor.
4198// func:amc.FDb._db.LoadTuplesFd
4199bool LoadTuplesFd(algo::Fildes fd, algo::strptr fname, bool recursive) __attribute__((nothrow));
4200// Save ssim data to given directory.
4201// func:amc.FDb._db.SaveTuples
4202u32 SaveTuples(algo::strptr root) __attribute__((nothrow));
4203// Load specified ssimfile.
4204// func:amc.FDb._db.LoadSsimfileMaybe
4205bool LoadSsimfileMaybe(algo::strptr fname, bool recursive) __attribute__((nothrow));
4206// Calls Step function of dependencies
4207// func:amc.FDb._db.Steps
4208void Steps();
4209// Insert row into all appropriate indices. If error occurs, store error
4210// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4211// func:amc.FDb._db.XrefMaybe
4212bool _db_XrefMaybe();
4213
4214// Return true if hash is empty
4215// func:amc.FDb.ind_bltin.EmptyQ
4216bool ind_bltin_EmptyQ() __attribute__((nothrow));
4217// Find row by key. Return NULL if not found.
4218// func:amc.FDb.ind_bltin.Find
4219amc::FBltin* ind_bltin_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4220// Find row by key. If not found, create and x-reference a new row with with this key.
4221// func:amc.FDb.ind_bltin.GetOrCreate
4222amc::FBltin& ind_bltin_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
4223// Return number of items in the hash
4224// func:amc.FDb.ind_bltin.N
4225i32 ind_bltin_N() __attribute__((__warn_unused_result__, nothrow, pure));
4226// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4227// func:amc.FDb.ind_bltin.InsertMaybe
4228bool ind_bltin_InsertMaybe(amc::FBltin& row) __attribute__((nothrow));
4229// Remove reference to element from hash index. If element is not in hash, do nothing
4230// func:amc.FDb.ind_bltin.Remove
4231void ind_bltin_Remove(amc::FBltin& row) __attribute__((nothrow));
4232// Reserve enough room in the hash for N more elements. Return success code.
4233// func:amc.FDb.ind_bltin.Reserve
4234void ind_bltin_Reserve(int n) __attribute__((nothrow));
4235
4236// Return true if hash is empty
4237// func:amc.FDb.ind_ctype.EmptyQ
4238bool ind_ctype_EmptyQ() __attribute__((nothrow));
4239// Find row by key. Return NULL if not found.
4240// func:amc.FDb.ind_ctype.Find
4241amc::FCtype* ind_ctype_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4242// Find row by key. If not found, create and x-reference a new row with with this key.
4243// func:amc.FDb.ind_ctype.GetOrCreate
4244amc::FCtype& ind_ctype_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
4245// Return number of items in the hash
4246// func:amc.FDb.ind_ctype.N
4247i32 ind_ctype_N() __attribute__((__warn_unused_result__, nothrow, pure));
4248// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4249// func:amc.FDb.ind_ctype.InsertMaybe
4250bool ind_ctype_InsertMaybe(amc::FCtype& row) __attribute__((nothrow));
4251// Remove reference to element from hash index. If element is not in hash, do nothing
4252// func:amc.FDb.ind_ctype.Remove
4253void ind_ctype_Remove(amc::FCtype& row) __attribute__((nothrow));
4254// Reserve enough room in the hash for N more elements. Return success code.
4255// func:amc.FDb.ind_ctype.Reserve
4256void ind_ctype_Reserve(int n) __attribute__((nothrow));
4257
4258// Return true if hash is empty
4259// func:amc.FDb.ind_dispatch.EmptyQ
4260bool ind_dispatch_EmptyQ() __attribute__((nothrow));
4261// Find row by key. Return NULL if not found.
4262// func:amc.FDb.ind_dispatch.Find
4263amc::FDispatch* ind_dispatch_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4264// Find row by key. If not found, create and x-reference a new row with with this key.
4265// func:amc.FDb.ind_dispatch.GetOrCreate
4266amc::FDispatch& ind_dispatch_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
4267// Return number of items in the hash
4268// func:amc.FDb.ind_dispatch.N
4269i32 ind_dispatch_N() __attribute__((__warn_unused_result__, nothrow, pure));
4270// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4271// func:amc.FDb.ind_dispatch.InsertMaybe
4272bool ind_dispatch_InsertMaybe(amc::FDispatch& row) __attribute__((nothrow));
4273// Remove reference to element from hash index. If element is not in hash, do nothing
4274// func:amc.FDb.ind_dispatch.Remove
4275void ind_dispatch_Remove(amc::FDispatch& row) __attribute__((nothrow));
4276// Reserve enough room in the hash for N more elements. Return success code.
4277// func:amc.FDb.ind_dispatch.Reserve
4278void ind_dispatch_Reserve(int n) __attribute__((nothrow));
4279
4280// Return true if hash is empty
4281// func:amc.FDb.ind_func.EmptyQ
4282bool ind_func_EmptyQ() __attribute__((nothrow));
4283// Find row by key. Return NULL if not found.
4284// func:amc.FDb.ind_func.Find
4285amc::FFunc* ind_func_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4286// Find row by key. If not found, create and x-reference a new row with with this key.
4287// func:amc.FDb.ind_func.GetOrCreate
4288amc::FFunc& ind_func_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
4289// Return number of items in the hash
4290// func:amc.FDb.ind_func.N
4291i32 ind_func_N() __attribute__((__warn_unused_result__, nothrow, pure));
4292// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4293// func:amc.FDb.ind_func.InsertMaybe
4294bool ind_func_InsertMaybe(amc::FFunc& row) __attribute__((nothrow));
4295// Remove reference to element from hash index. If element is not in hash, do nothing
4296// func:amc.FDb.ind_func.Remove
4297void ind_func_Remove(amc::FFunc& row) __attribute__((nothrow));
4298// Reserve enough room in the hash for N more elements. Return success code.
4299// func:amc.FDb.ind_func.Reserve
4300void ind_func_Reserve(int n) __attribute__((nothrow));
4301
4302// Return true if hash is empty
4303// func:amc.FDb.ind_field.EmptyQ
4304bool ind_field_EmptyQ() __attribute__((nothrow));
4305// Find row by key. Return NULL if not found.
4306// func:amc.FDb.ind_field.Find
4307amc::FField* ind_field_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4308// Return number of items in the hash
4309// func:amc.FDb.ind_field.N
4310i32 ind_field_N() __attribute__((__warn_unused_result__, nothrow, pure));
4311// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4312// func:amc.FDb.ind_field.InsertMaybe
4313bool ind_field_InsertMaybe(amc::FField& row) __attribute__((nothrow));
4314// Remove reference to element from hash index. If element is not in hash, do nothing
4315// func:amc.FDb.ind_field.Remove
4316void ind_field_Remove(amc::FField& row) __attribute__((nothrow));
4317// Reserve enough room in the hash for N more elements. Return success code.
4318// func:amc.FDb.ind_field.Reserve
4319void ind_field_Reserve(int n) __attribute__((nothrow));
4320
4321// Return true if hash is empty
4322// func:amc.FDb.ind_ns.EmptyQ
4323bool ind_ns_EmptyQ() __attribute__((nothrow));
4324// Find row by key. Return NULL if not found.
4325// func:amc.FDb.ind_ns.Find
4326amc::FNs* ind_ns_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4327// Find row by key. If not found, create and x-reference a new row with with this key.
4328// func:amc.FDb.ind_ns.GetOrCreate
4329amc::FNs& ind_ns_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
4330// Return number of items in the hash
4331// func:amc.FDb.ind_ns.N
4332i32 ind_ns_N() __attribute__((__warn_unused_result__, nothrow, pure));
4333// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4334// func:amc.FDb.ind_ns.InsertMaybe
4335bool ind_ns_InsertMaybe(amc::FNs& row) __attribute__((nothrow));
4336// Remove reference to element from hash index. If element is not in hash, do nothing
4337// func:amc.FDb.ind_ns.Remove
4338void ind_ns_Remove(amc::FNs& row) __attribute__((nothrow));
4339// Reserve enough room in the hash for N more elements. Return success code.
4340// func:amc.FDb.ind_ns.Reserve
4341void ind_ns_Reserve(int n) __attribute__((nothrow));
4342
4343// Return true if hash is empty
4344// func:amc.FDb.ind_pnew.EmptyQ
4345bool ind_pnew_EmptyQ() __attribute__((nothrow));
4346// Find row by key. Return NULL if not found.
4347// func:amc.FDb.ind_pnew.Find
4348amc::FPnew* ind_pnew_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4349// Find row by key. If not found, create and x-reference a new row with with this key.
4350// func:amc.FDb.ind_pnew.GetOrCreate
4351amc::FPnew& ind_pnew_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
4352// Return number of items in the hash
4353// func:amc.FDb.ind_pnew.N
4354i32 ind_pnew_N() __attribute__((__warn_unused_result__, nothrow, pure));
4355// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4356// func:amc.FDb.ind_pnew.InsertMaybe
4357bool ind_pnew_InsertMaybe(amc::FPnew& row) __attribute__((nothrow));
4358// Remove reference to element from hash index. If element is not in hash, do nothing
4359// func:amc.FDb.ind_pnew.Remove
4360void ind_pnew_Remove(amc::FPnew& row) __attribute__((nothrow));
4361// Reserve enough room in the hash for N more elements. Return success code.
4362// func:amc.FDb.ind_pnew.Reserve
4363void ind_pnew_Reserve(int n) __attribute__((nothrow));
4364
4365// Return true if hash is empty
4366// func:amc.FDb.ind_xref.EmptyQ
4367bool ind_xref_EmptyQ() __attribute__((nothrow));
4368// Find row by key. Return NULL if not found.
4369// func:amc.FDb.ind_xref.Find
4370amc::FXref* ind_xref_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4371// Find row by key. If not found, create and x-reference a new row with with this key.
4372// func:amc.FDb.ind_xref.GetOrCreate
4373amc::FXref& ind_xref_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
4374// Return number of items in the hash
4375// func:amc.FDb.ind_xref.N
4376i32 ind_xref_N() __attribute__((__warn_unused_result__, nothrow, pure));
4377// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4378// func:amc.FDb.ind_xref.InsertMaybe
4379bool ind_xref_InsertMaybe(amc::FXref& row) __attribute__((nothrow));
4380// Remove reference to element from hash index. If element is not in hash, do nothing
4381// func:amc.FDb.ind_xref.Remove
4382void ind_xref_Remove(amc::FXref& row) __attribute__((nothrow));
4383// Reserve enough room in the hash for N more elements. Return success code.
4384// func:amc.FDb.ind_xref.Reserve
4385void ind_xref_Reserve(int n) __attribute__((nothrow));
4386
4387// Allocate memory for new default row.
4388// If out of memory, process is killed.
4389// func:amc.FDb.cpptype.Alloc
4390amc::FCpptype& cpptype_Alloc() __attribute__((__warn_unused_result__, nothrow));
4391// Allocate memory for new element. If out of memory, return NULL.
4392// func:amc.FDb.cpptype.AllocMaybe
4393amc::FCpptype* cpptype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4394// Create new row from struct.
4395// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4396// func:amc.FDb.cpptype.InsertMaybe
4397amc::FCpptype* cpptype_InsertMaybe(const dmmeta::Cpptype &value) __attribute__((nothrow));
4398// Allocate space for one element. If no memory available, return NULL.
4399// func:amc.FDb.cpptype.AllocMem
4400void* cpptype_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4401// Return true if index is empty
4402// func:amc.FDb.cpptype.EmptyQ
4403bool cpptype_EmptyQ() __attribute__((nothrow, pure));
4404// Look up row by row id. Return NULL if out of range
4405// func:amc.FDb.cpptype.Find
4406amc::FCpptype* cpptype_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
4407// Return pointer to last element of array, or NULL if array is empty
4408// func:amc.FDb.cpptype.Last
4409amc::FCpptype* cpptype_Last() __attribute__((nothrow, pure));
4410// Return number of items in the pool
4411// func:amc.FDb.cpptype.N
4412i32 cpptype_N() __attribute__((__warn_unused_result__, nothrow, pure));
4413// Delete last element of array. Do nothing if array is empty.
4414// func:amc.FDb.cpptype.RemoveLast
4415void cpptype_RemoveLast() __attribute__((nothrow));
4416// 'quick' Access row by row id. No bounds checking.
4417// func:amc.FDb.cpptype.qFind
4418amc::FCpptype& cpptype_qFind(u64 t) __attribute__((nothrow, pure));
4419// Insert row into all appropriate indices. If error occurs, store error
4420// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4421// func:amc.FDb.cpptype.XrefMaybe
4422bool cpptype_XrefMaybe(amc::FCpptype &row);
4423
4424// Return true if hash is empty
4425// func:amc.FDb.ind_cpptype.EmptyQ
4426bool ind_cpptype_EmptyQ() __attribute__((nothrow));
4427// Find row by key. Return NULL if not found.
4428// func:amc.FDb.ind_cpptype.Find
4429amc::FCpptype* ind_cpptype_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4430// Find row by key. If not found, create and x-reference a new row with with this key.
4431// func:amc.FDb.ind_cpptype.GetOrCreate
4432amc::FCpptype& ind_cpptype_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
4433// Return number of items in the hash
4434// func:amc.FDb.ind_cpptype.N
4435i32 ind_cpptype_N() __attribute__((__warn_unused_result__, nothrow, pure));
4436// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4437// func:amc.FDb.ind_cpptype.InsertMaybe
4438bool ind_cpptype_InsertMaybe(amc::FCpptype& row) __attribute__((nothrow));
4439// Remove reference to element from hash index. If element is not in hash, do nothing
4440// func:amc.FDb.ind_cpptype.Remove
4441void ind_cpptype_Remove(amc::FCpptype& row) __attribute__((nothrow));
4442// Reserve enough room in the hash for N more elements. Return success code.
4443// func:amc.FDb.ind_cpptype.Reserve
4444void ind_cpptype_Reserve(int n) __attribute__((nothrow));
4445
4446// Allocate memory for new default row.
4447// If out of memory, process is killed.
4448// func:amc.FDb.inlary.Alloc
4449amc::FInlary& inlary_Alloc() __attribute__((__warn_unused_result__, nothrow));
4450// Allocate memory for new element. If out of memory, return NULL.
4451// func:amc.FDb.inlary.AllocMaybe
4452amc::FInlary* inlary_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4453// Create new row from struct.
4454// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4455// func:amc.FDb.inlary.InsertMaybe
4456amc::FInlary* inlary_InsertMaybe(const dmmeta::Inlary &value) __attribute__((nothrow));
4457// Allocate space for one element. If no memory available, return NULL.
4458// func:amc.FDb.inlary.AllocMem
4459void* inlary_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4460// Return true if index is empty
4461// func:amc.FDb.inlary.EmptyQ
4462bool inlary_EmptyQ() __attribute__((nothrow, pure));
4463// Look up row by row id. Return NULL if out of range
4464// func:amc.FDb.inlary.Find
4465amc::FInlary* inlary_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
4466// Return pointer to last element of array, or NULL if array is empty
4467// func:amc.FDb.inlary.Last
4468amc::FInlary* inlary_Last() __attribute__((nothrow, pure));
4469// Return number of items in the pool
4470// func:amc.FDb.inlary.N
4471i32 inlary_N() __attribute__((__warn_unused_result__, nothrow, pure));
4472// Delete last element of array. Do nothing if array is empty.
4473// func:amc.FDb.inlary.RemoveLast
4474void inlary_RemoveLast() __attribute__((nothrow));
4475// 'quick' Access row by row id. No bounds checking.
4476// func:amc.FDb.inlary.qFind
4477amc::FInlary& inlary_qFind(u64 t) __attribute__((nothrow, pure));
4478// Insert row into all appropriate indices. If error occurs, store error
4479// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4480// func:amc.FDb.inlary.XrefMaybe
4481bool inlary_XrefMaybe(amc::FInlary &row);
4482
4483// Return true if hash is empty
4484// func:amc.FDb.ind_inlary.EmptyQ
4485bool ind_inlary_EmptyQ() __attribute__((nothrow));
4486// Find row by key. Return NULL if not found.
4487// func:amc.FDb.ind_inlary.Find
4488amc::FInlary* ind_inlary_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4489// Find row by key. If not found, create and x-reference a new row with with this key.
4490// func:amc.FDb.ind_inlary.GetOrCreate
4491amc::FInlary& ind_inlary_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
4492// Return number of items in the hash
4493// func:amc.FDb.ind_inlary.N
4494i32 ind_inlary_N() __attribute__((__warn_unused_result__, nothrow, pure));
4495// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4496// func:amc.FDb.ind_inlary.InsertMaybe
4497bool ind_inlary_InsertMaybe(amc::FInlary& row) __attribute__((nothrow));
4498// Remove reference to element from hash index. If element is not in hash, do nothing
4499// func:amc.FDb.ind_inlary.Remove
4500void ind_inlary_Remove(amc::FInlary& row) __attribute__((nothrow));
4501// Reserve enough room in the hash for N more elements. Return success code.
4502// func:amc.FDb.ind_inlary.Reserve
4503void ind_inlary_Reserve(int n) __attribute__((nothrow));
4504
4505// Allocate memory for new default row.
4506// If out of memory, process is killed.
4507// func:amc.FDb.tary.Alloc
4508amc::FTary& tary_Alloc() __attribute__((__warn_unused_result__, nothrow));
4509// Allocate memory for new element. If out of memory, return NULL.
4510// func:amc.FDb.tary.AllocMaybe
4511amc::FTary* tary_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4512// Create new row from struct.
4513// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4514// func:amc.FDb.tary.InsertMaybe
4515amc::FTary* tary_InsertMaybe(const dmmeta::Tary &value) __attribute__((nothrow));
4516// Allocate space for one element. If no memory available, return NULL.
4517// func:amc.FDb.tary.AllocMem
4518void* tary_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4519// Return true if index is empty
4520// func:amc.FDb.tary.EmptyQ
4521bool tary_EmptyQ() __attribute__((nothrow, pure));
4522// Look up row by row id. Return NULL if out of range
4523// func:amc.FDb.tary.Find
4524amc::FTary* tary_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
4525// Return pointer to last element of array, or NULL if array is empty
4526// func:amc.FDb.tary.Last
4527amc::FTary* tary_Last() __attribute__((nothrow, pure));
4528// Return number of items in the pool
4529// func:amc.FDb.tary.N
4530i32 tary_N() __attribute__((__warn_unused_result__, nothrow, pure));
4531// Delete last element of array. Do nothing if array is empty.
4532// func:amc.FDb.tary.RemoveLast
4533void tary_RemoveLast() __attribute__((nothrow));
4534// 'quick' Access row by row id. No bounds checking.
4535// func:amc.FDb.tary.qFind
4536amc::FTary& tary_qFind(u64 t) __attribute__((nothrow, pure));
4537// Insert row into all appropriate indices. If error occurs, store error
4538// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4539// func:amc.FDb.tary.XrefMaybe
4540bool tary_XrefMaybe(amc::FTary &row);
4541
4542// Return true if hash is empty
4543// func:amc.FDb.ind_tary.EmptyQ
4544bool ind_tary_EmptyQ() __attribute__((nothrow));
4545// Find row by key. Return NULL if not found.
4546// func:amc.FDb.ind_tary.Find
4547amc::FTary* ind_tary_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4548// Find row by key. If not found, create and x-reference a new row with with this key.
4549// func:amc.FDb.ind_tary.GetOrCreate
4550amc::FTary& ind_tary_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
4551// Return number of items in the hash
4552// func:amc.FDb.ind_tary.N
4553i32 ind_tary_N() __attribute__((__warn_unused_result__, nothrow, pure));
4554// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4555// func:amc.FDb.ind_tary.InsertMaybe
4556bool ind_tary_InsertMaybe(amc::FTary& row) __attribute__((nothrow));
4557// Remove reference to element from hash index. If element is not in hash, do nothing
4558// func:amc.FDb.ind_tary.Remove
4559void ind_tary_Remove(amc::FTary& row) __attribute__((nothrow));
4560// Reserve enough room in the hash for N more elements. Return success code.
4561// func:amc.FDb.ind_tary.Reserve
4562void ind_tary_Reserve(int n) __attribute__((nothrow));
4563
4564// Allocate memory for new default row.
4565// If out of memory, process is killed.
4566// func:amc.FDb.cppfunc.Alloc
4567amc::FCppfunc& cppfunc_Alloc() __attribute__((__warn_unused_result__, nothrow));
4568// Allocate memory for new element. If out of memory, return NULL.
4569// func:amc.FDb.cppfunc.AllocMaybe
4570amc::FCppfunc* cppfunc_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4571// Create new row from struct.
4572// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4573// func:amc.FDb.cppfunc.InsertMaybe
4574amc::FCppfunc* cppfunc_InsertMaybe(const dmmeta::Cppfunc &value) __attribute__((nothrow));
4575// Allocate space for one element. If no memory available, return NULL.
4576// func:amc.FDb.cppfunc.AllocMem
4577void* cppfunc_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4578// Return true if index is empty
4579// func:amc.FDb.cppfunc.EmptyQ
4580bool cppfunc_EmptyQ() __attribute__((nothrow, pure));
4581// Look up row by row id. Return NULL if out of range
4582// func:amc.FDb.cppfunc.Find
4583amc::FCppfunc* cppfunc_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
4584// Return pointer to last element of array, or NULL if array is empty
4585// func:amc.FDb.cppfunc.Last
4586amc::FCppfunc* cppfunc_Last() __attribute__((nothrow, pure));
4587// Return number of items in the pool
4588// func:amc.FDb.cppfunc.N
4589i32 cppfunc_N() __attribute__((__warn_unused_result__, nothrow, pure));
4590// Delete last element of array. Do nothing if array is empty.
4591// func:amc.FDb.cppfunc.RemoveLast
4592void cppfunc_RemoveLast() __attribute__((nothrow));
4593// 'quick' Access row by row id. No bounds checking.
4594// func:amc.FDb.cppfunc.qFind
4595amc::FCppfunc& cppfunc_qFind(u64 t) __attribute__((nothrow, pure));
4596// Insert row into all appropriate indices. If error occurs, store error
4597// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4598// func:amc.FDb.cppfunc.XrefMaybe
4599bool cppfunc_XrefMaybe(amc::FCppfunc &row);
4600
4601// Allocate memory for new default row.
4602// If out of memory, process is killed.
4603// func:amc.FDb.rowid.Alloc
4604amc::FRowid& rowid_Alloc() __attribute__((__warn_unused_result__, nothrow));
4605// Allocate memory for new element. If out of memory, return NULL.
4606// func:amc.FDb.rowid.AllocMaybe
4607amc::FRowid* rowid_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4608// Create new row from struct.
4609// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4610// func:amc.FDb.rowid.InsertMaybe
4611amc::FRowid* rowid_InsertMaybe(const dmmeta::Rowid &value) __attribute__((nothrow));
4612// Allocate space for one element. If no memory available, return NULL.
4613// func:amc.FDb.rowid.AllocMem
4614void* rowid_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4615// Return true if index is empty
4616// func:amc.FDb.rowid.EmptyQ
4617bool rowid_EmptyQ() __attribute__((nothrow, pure));
4618// Look up row by row id. Return NULL if out of range
4619// func:amc.FDb.rowid.Find
4620amc::FRowid* rowid_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
4621// Return pointer to last element of array, or NULL if array is empty
4622// func:amc.FDb.rowid.Last
4623amc::FRowid* rowid_Last() __attribute__((nothrow, pure));
4624// Return number of items in the pool
4625// func:amc.FDb.rowid.N
4626i32 rowid_N() __attribute__((__warn_unused_result__, nothrow, pure));
4627// Delete last element of array. Do nothing if array is empty.
4628// func:amc.FDb.rowid.RemoveLast
4629void rowid_RemoveLast() __attribute__((nothrow));
4630// 'quick' Access row by row id. No bounds checking.
4631// func:amc.FDb.rowid.qFind
4632amc::FRowid& rowid_qFind(u64 t) __attribute__((nothrow, pure));
4633// Insert row into all appropriate indices. If error occurs, store error
4634// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4635// func:amc.FDb.rowid.XrefMaybe
4636bool rowid_XrefMaybe(amc::FRowid &row);
4637
4638// Return true if hash is empty
4639// func:amc.FDb.ind_rowid.EmptyQ
4640bool ind_rowid_EmptyQ() __attribute__((nothrow));
4641// Find row by key. Return NULL if not found.
4642// func:amc.FDb.ind_rowid.Find
4643amc::FRowid* ind_rowid_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4644// Find row by key. If not found, create and x-reference a new row with with this key.
4645// func:amc.FDb.ind_rowid.GetOrCreate
4646amc::FRowid& ind_rowid_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
4647// Return number of items in the hash
4648// func:amc.FDb.ind_rowid.N
4649i32 ind_rowid_N() __attribute__((__warn_unused_result__, nothrow, pure));
4650// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4651// func:amc.FDb.ind_rowid.InsertMaybe
4652bool ind_rowid_InsertMaybe(amc::FRowid& row) __attribute__((nothrow));
4653// Remove reference to element from hash index. If element is not in hash, do nothing
4654// func:amc.FDb.ind_rowid.Remove
4655void ind_rowid_Remove(amc::FRowid& row) __attribute__((nothrow));
4656// Reserve enough room in the hash for N more elements. Return success code.
4657// func:amc.FDb.ind_rowid.Reserve
4658void ind_rowid_Reserve(int n) __attribute__((nothrow));
4659
4660// Allocate memory for new default row.
4661// If out of memory, process is killed.
4662// func:amc.FDb.cascdel.Alloc
4663amc::FCascdel& cascdel_Alloc() __attribute__((__warn_unused_result__, nothrow));
4664// Allocate memory for new element. If out of memory, return NULL.
4665// func:amc.FDb.cascdel.AllocMaybe
4666amc::FCascdel* cascdel_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4667// Create new row from struct.
4668// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4669// func:amc.FDb.cascdel.InsertMaybe
4670amc::FCascdel* cascdel_InsertMaybe(const dmmeta::Cascdel &value) __attribute__((nothrow));
4671// Allocate space for one element. If no memory available, return NULL.
4672// func:amc.FDb.cascdel.AllocMem
4673void* cascdel_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4674// Return true if index is empty
4675// func:amc.FDb.cascdel.EmptyQ
4676bool cascdel_EmptyQ() __attribute__((nothrow, pure));
4677// Look up row by row id. Return NULL if out of range
4678// func:amc.FDb.cascdel.Find
4679amc::FCascdel* cascdel_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
4680// Return pointer to last element of array, or NULL if array is empty
4681// func:amc.FDb.cascdel.Last
4682amc::FCascdel* cascdel_Last() __attribute__((nothrow, pure));
4683// Return number of items in the pool
4684// func:amc.FDb.cascdel.N
4685i32 cascdel_N() __attribute__((__warn_unused_result__, nothrow, pure));
4686// Delete last element of array. Do nothing if array is empty.
4687// func:amc.FDb.cascdel.RemoveLast
4688void cascdel_RemoveLast() __attribute__((nothrow));
4689// 'quick' Access row by row id. No bounds checking.
4690// func:amc.FDb.cascdel.qFind
4691amc::FCascdel& cascdel_qFind(u64 t) __attribute__((nothrow, pure));
4692// Insert row into all appropriate indices. If error occurs, store error
4693// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4694// func:amc.FDb.cascdel.XrefMaybe
4695bool cascdel_XrefMaybe(amc::FCascdel &row);
4696
4697// Allocate memory for new default row.
4698// If out of memory, process is killed.
4699// func:amc.FDb.substr.Alloc
4700amc::FSubstr& substr_Alloc() __attribute__((__warn_unused_result__, nothrow));
4701// Allocate memory for new element. If out of memory, return NULL.
4702// func:amc.FDb.substr.AllocMaybe
4703amc::FSubstr* substr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4704// Create new row from struct.
4705// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4706// func:amc.FDb.substr.InsertMaybe
4707amc::FSubstr* substr_InsertMaybe(const dmmeta::Substr &value) __attribute__((nothrow));
4708// Allocate space for one element. If no memory available, return NULL.
4709// func:amc.FDb.substr.AllocMem
4710void* substr_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4711// Return true if index is empty
4712// func:amc.FDb.substr.EmptyQ
4713bool substr_EmptyQ() __attribute__((nothrow, pure));
4714// Look up row by row id. Return NULL if out of range
4715// func:amc.FDb.substr.Find
4716amc::FSubstr* substr_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
4717// Return pointer to last element of array, or NULL if array is empty
4718// func:amc.FDb.substr.Last
4719amc::FSubstr* substr_Last() __attribute__((nothrow, pure));
4720// Return number of items in the pool
4721// func:amc.FDb.substr.N
4722i32 substr_N() __attribute__((__warn_unused_result__, nothrow, pure));
4723// Delete last element of array. Do nothing if array is empty.
4724// func:amc.FDb.substr.RemoveLast
4725void substr_RemoveLast() __attribute__((nothrow));
4726// 'quick' Access row by row id. No bounds checking.
4727// func:amc.FDb.substr.qFind
4728amc::FSubstr& substr_qFind(u64 t) __attribute__((nothrow, pure));
4729// Insert row into all appropriate indices. If error occurs, store error
4730// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4731// func:amc.FDb.substr.XrefMaybe
4732bool substr_XrefMaybe(amc::FSubstr &row);
4733
4734// Allocate memory for new default row.
4735// If out of memory, process is killed.
4736// func:amc.FDb.bitfld.Alloc
4737amc::FBitfld& bitfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
4738// Allocate memory for new element. If out of memory, return NULL.
4739// func:amc.FDb.bitfld.AllocMaybe
4740amc::FBitfld* bitfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4741// Create new row from struct.
4742// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4743// func:amc.FDb.bitfld.InsertMaybe
4744amc::FBitfld* bitfld_InsertMaybe(const dmmeta::Bitfld &value) __attribute__((nothrow));
4745// Allocate space for one element. If no memory available, return NULL.
4746// func:amc.FDb.bitfld.AllocMem
4747void* bitfld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4748// Return true if index is empty
4749// func:amc.FDb.bitfld.EmptyQ
4750bool bitfld_EmptyQ() __attribute__((nothrow, pure));
4751// Look up row by row id. Return NULL if out of range
4752// func:amc.FDb.bitfld.Find
4753amc::FBitfld* bitfld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
4754// Return pointer to last element of array, or NULL if array is empty
4755// func:amc.FDb.bitfld.Last
4756amc::FBitfld* bitfld_Last() __attribute__((nothrow, pure));
4757// Return number of items in the pool
4758// func:amc.FDb.bitfld.N
4759i32 bitfld_N() __attribute__((__warn_unused_result__, nothrow, pure));
4760// Delete last element of array. Do nothing if array is empty.
4761// func:amc.FDb.bitfld.RemoveLast
4762void bitfld_RemoveLast() __attribute__((nothrow));
4763// 'quick' Access row by row id. No bounds checking.
4764// func:amc.FDb.bitfld.qFind
4765amc::FBitfld& bitfld_qFind(u64 t) __attribute__((nothrow, pure));
4766// Insert row into all appropriate indices. If error occurs, store error
4767// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4768// func:amc.FDb.bitfld.XrefMaybe
4769bool bitfld_XrefMaybe(amc::FBitfld &row);
4770
4771// Allocate memory for new default row.
4772// If out of memory, process is killed.
4773// func:amc.FDb.ssimfile.Alloc
4774amc::FSsimfile& ssimfile_Alloc() __attribute__((__warn_unused_result__, nothrow));
4775// Allocate memory for new element. If out of memory, return NULL.
4776// func:amc.FDb.ssimfile.AllocMaybe
4777amc::FSsimfile* ssimfile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4778// Create new row from struct.
4779// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4780// func:amc.FDb.ssimfile.InsertMaybe
4781amc::FSsimfile* ssimfile_InsertMaybe(const dmmeta::Ssimfile &value) __attribute__((nothrow));
4782// Allocate space for one element. If no memory available, return NULL.
4783// func:amc.FDb.ssimfile.AllocMem
4784void* ssimfile_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4785// Return true if index is empty
4786// func:amc.FDb.ssimfile.EmptyQ
4787bool ssimfile_EmptyQ() __attribute__((nothrow, pure));
4788// Look up row by row id. Return NULL if out of range
4789// func:amc.FDb.ssimfile.Find
4790amc::FSsimfile* ssimfile_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
4791// Return pointer to last element of array, or NULL if array is empty
4792// func:amc.FDb.ssimfile.Last
4793amc::FSsimfile* ssimfile_Last() __attribute__((nothrow, pure));
4794// Return number of items in the pool
4795// func:amc.FDb.ssimfile.N
4796i32 ssimfile_N() __attribute__((__warn_unused_result__, nothrow, pure));
4797// Delete last element of array. Do nothing if array is empty.
4798// func:amc.FDb.ssimfile.RemoveLast
4799void ssimfile_RemoveLast() __attribute__((nothrow));
4800// 'quick' Access row by row id. No bounds checking.
4801// func:amc.FDb.ssimfile.qFind
4802amc::FSsimfile& ssimfile_qFind(u64 t) __attribute__((nothrow, pure));
4803// Insert row into all appropriate indices. If error occurs, store error
4804// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4805// func:amc.FDb.ssimfile.XrefMaybe
4806bool ssimfile_XrefMaybe(amc::FSsimfile &row);
4807
4808// Return true if hash is empty
4809// func:amc.FDb.ind_ssimfile.EmptyQ
4810bool ind_ssimfile_EmptyQ() __attribute__((nothrow));
4811// Find row by key. Return NULL if not found.
4812// func:amc.FDb.ind_ssimfile.Find
4813amc::FSsimfile* ind_ssimfile_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4814// Find row by key. If not found, create and x-reference a new row with with this key.
4815// func:amc.FDb.ind_ssimfile.GetOrCreate
4816amc::FSsimfile& ind_ssimfile_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
4817// Return number of items in the hash
4818// func:amc.FDb.ind_ssimfile.N
4819i32 ind_ssimfile_N() __attribute__((__warn_unused_result__, nothrow, pure));
4820// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4821// func:amc.FDb.ind_ssimfile.InsertMaybe
4822bool ind_ssimfile_InsertMaybe(amc::FSsimfile& row) __attribute__((nothrow));
4823// Remove reference to element from hash index. If element is not in hash, do nothing
4824// func:amc.FDb.ind_ssimfile.Remove
4825void ind_ssimfile_Remove(amc::FSsimfile& row) __attribute__((nothrow));
4826// Reserve enough room in the hash for N more elements. Return success code.
4827// func:amc.FDb.ind_ssimfile.Reserve
4828void ind_ssimfile_Reserve(int n) __attribute__((nothrow));
4829
4830// Allocate memory for new default row.
4831// If out of memory, process is killed.
4832// func:amc.FDb.pack.Alloc
4833amc::FPack& pack_Alloc() __attribute__((__warn_unused_result__, nothrow));
4834// Allocate memory for new element. If out of memory, return NULL.
4835// func:amc.FDb.pack.AllocMaybe
4836amc::FPack* pack_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4837// Create new row from struct.
4838// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4839// func:amc.FDb.pack.InsertMaybe
4840amc::FPack* pack_InsertMaybe(const dmmeta::Pack &value) __attribute__((nothrow));
4841// Allocate space for one element. If no memory available, return NULL.
4842// func:amc.FDb.pack.AllocMem
4843void* pack_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4844// Return true if index is empty
4845// func:amc.FDb.pack.EmptyQ
4846bool pack_EmptyQ() __attribute__((nothrow, pure));
4847// Look up row by row id. Return NULL if out of range
4848// func:amc.FDb.pack.Find
4849amc::FPack* pack_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
4850// Return pointer to last element of array, or NULL if array is empty
4851// func:amc.FDb.pack.Last
4852amc::FPack* pack_Last() __attribute__((nothrow, pure));
4853// Return number of items in the pool
4854// func:amc.FDb.pack.N
4855i32 pack_N() __attribute__((__warn_unused_result__, nothrow, pure));
4856// Delete last element of array. Do nothing if array is empty.
4857// func:amc.FDb.pack.RemoveLast
4858void pack_RemoveLast() __attribute__((nothrow));
4859// 'quick' Access row by row id. No bounds checking.
4860// func:amc.FDb.pack.qFind
4861amc::FPack& pack_qFind(u64 t) __attribute__((nothrow, pure));
4862// Insert row into all appropriate indices. If error occurs, store error
4863// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4864// func:amc.FDb.pack.XrefMaybe
4865bool pack_XrefMaybe(amc::FPack &row);
4866
4867// Return true if hash is empty
4868// func:amc.FDb.ind_pack.EmptyQ
4869bool ind_pack_EmptyQ() __attribute__((nothrow));
4870// Find row by key. Return NULL if not found.
4871// func:amc.FDb.ind_pack.Find
4872amc::FPack* ind_pack_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4873// Find row by key. If not found, create and x-reference a new row with with this key.
4874// func:amc.FDb.ind_pack.GetOrCreate
4875amc::FPack& ind_pack_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
4876// Return number of items in the hash
4877// func:amc.FDb.ind_pack.N
4878i32 ind_pack_N() __attribute__((__warn_unused_result__, nothrow, pure));
4879// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4880// func:amc.FDb.ind_pack.InsertMaybe
4881bool ind_pack_InsertMaybe(amc::FPack& row) __attribute__((nothrow));
4882// Remove reference to element from hash index. If element is not in hash, do nothing
4883// func:amc.FDb.ind_pack.Remove
4884void ind_pack_Remove(amc::FPack& row) __attribute__((nothrow));
4885// Reserve enough room in the hash for N more elements. Return success code.
4886// func:amc.FDb.ind_pack.Reserve
4887void ind_pack_Reserve(int n) __attribute__((nothrow));
4888
4889// Return true if hash is empty
4890// func:amc.FDb.ind_smallstr.EmptyQ
4891bool ind_smallstr_EmptyQ() __attribute__((nothrow));
4892// Find row by key. Return NULL if not found.
4893// func:amc.FDb.ind_smallstr.Find
4894amc::FSmallstr* ind_smallstr_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
4895// Find row by key. If not found, create and x-reference a new row with with this key.
4896// func:amc.FDb.ind_smallstr.GetOrCreate
4897amc::FSmallstr& ind_smallstr_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
4898// Return number of items in the hash
4899// func:amc.FDb.ind_smallstr.N
4900i32 ind_smallstr_N() __attribute__((__warn_unused_result__, nothrow, pure));
4901// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
4902// func:amc.FDb.ind_smallstr.InsertMaybe
4903bool ind_smallstr_InsertMaybe(amc::FSmallstr& row) __attribute__((nothrow));
4904// Remove reference to element from hash index. If element is not in hash, do nothing
4905// func:amc.FDb.ind_smallstr.Remove
4906void ind_smallstr_Remove(amc::FSmallstr& row) __attribute__((nothrow));
4907// Reserve enough room in the hash for N more elements. Return success code.
4908// func:amc.FDb.ind_smallstr.Reserve
4909void ind_smallstr_Reserve(int n) __attribute__((nothrow));
4910
4911// Allocate memory for new default row.
4912// If out of memory, process is killed.
4913// func:amc.FDb.ptrary.Alloc
4914amc::FPtrary& ptrary_Alloc() __attribute__((__warn_unused_result__, nothrow));
4915// Allocate memory for new element. If out of memory, return NULL.
4916// func:amc.FDb.ptrary.AllocMaybe
4917amc::FPtrary* ptrary_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
4918// Create new row from struct.
4919// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
4920// func:amc.FDb.ptrary.InsertMaybe
4921amc::FPtrary* ptrary_InsertMaybe(const dmmeta::Ptrary &value) __attribute__((nothrow));
4922// Allocate space for one element. If no memory available, return NULL.
4923// func:amc.FDb.ptrary.AllocMem
4924void* ptrary_AllocMem() __attribute__((__warn_unused_result__, nothrow));
4925// Return true if index is empty
4926// func:amc.FDb.ptrary.EmptyQ
4927bool ptrary_EmptyQ() __attribute__((nothrow, pure));
4928// Look up row by row id. Return NULL if out of range
4929// func:amc.FDb.ptrary.Find
4930amc::FPtrary* ptrary_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
4931// Return pointer to last element of array, or NULL if array is empty
4932// func:amc.FDb.ptrary.Last
4933amc::FPtrary* ptrary_Last() __attribute__((nothrow, pure));
4934// Return number of items in the pool
4935// func:amc.FDb.ptrary.N
4936i32 ptrary_N() __attribute__((__warn_unused_result__, nothrow, pure));
4937// Delete last element of array. Do nothing if array is empty.
4938// func:amc.FDb.ptrary.RemoveLast
4939void ptrary_RemoveLast() __attribute__((nothrow));
4940// 'quick' Access row by row id. No bounds checking.
4941// func:amc.FDb.ptrary.qFind
4942amc::FPtrary& ptrary_qFind(u64 t) __attribute__((nothrow, pure));
4943// Insert row into all appropriate indices. If error occurs, store error
4944// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
4945// func:amc.FDb.ptrary.XrefMaybe
4946bool ptrary_XrefMaybe(amc::FPtrary &row);
4947
4948// Return true if index is empty
4949// func:amc.FDb.c_ctype_sorted.EmptyQ
4950bool c_ctype_sorted_EmptyQ() __attribute__((nothrow));
4951// Look up row by row id. Return NULL if out of range
4952// func:amc.FDb.c_ctype_sorted.Find
4953amc::FCtype* c_ctype_sorted_Find(u32 t) __attribute__((__warn_unused_result__, nothrow));
4954// Return array of pointers
4955// func:amc.FDb.c_ctype_sorted.Getary
4956algo::aryptr<amc::FCtype*> c_ctype_sorted_Getary() __attribute__((nothrow));
4957// Insert pointer to row into array. Row must not already be in array.
4958// If pointer is already in the array, it may be inserted twice.
4959// func:amc.FDb.c_ctype_sorted.Insert
4960void c_ctype_sorted_Insert(amc::FCtype& row) __attribute__((nothrow));
4961// Insert pointer to row in array.
4962// If row is already in the array, do nothing.
4963// Linear search is used to locate the element.
4964// Return value: whether element was inserted into array.
4965// func:amc.FDb.c_ctype_sorted.ScanInsertMaybe
4966bool c_ctype_sorted_ScanInsertMaybe(amc::FCtype& row) __attribute__((nothrow));
4967// Return number of items in the pointer array
4968// func:amc.FDb.c_ctype_sorted.N
4969i32 c_ctype_sorted_N() __attribute__((__warn_unused_result__, nothrow, pure));
4970// Find element using linear scan. If element is in array, remove, otherwise do nothing
4971// func:amc.FDb.c_ctype_sorted.Remove
4972void c_ctype_sorted_Remove(amc::FCtype& row) __attribute__((nothrow));
4973// Empty the index. (The rows are not deleted)
4974// func:amc.FDb.c_ctype_sorted.RemoveAll
4975void c_ctype_sorted_RemoveAll() __attribute__((nothrow));
4976// Reserve space in index for N more elements;
4977// func:amc.FDb.c_ctype_sorted.Reserve
4978void c_ctype_sorted_Reserve(u32 n) __attribute__((nothrow));
4979// Return reference without bounds checking
4980// func:amc.FDb.c_ctype_sorted.qFind
4981amc::FCtype& c_ctype_sorted_qFind(u32 idx) __attribute__((nothrow));
4982// Reference to last element without bounds checking
4983// func:amc.FDb.c_ctype_sorted.qLast
4984amc::FCtype& c_ctype_sorted_qLast() __attribute__((nothrow));
4985// Verify whether array is sorted
4986// func:amc.FDb.c_ctype_sorted.SortedQ
4987bool c_ctype_sorted_SortedQ() __attribute__((nothrow));
4988// Insertion sort
4989// func:amc.FDb.c_ctype_sorted.InsertionSort
4990void c_ctype_sorted_InsertionSort() __attribute__((nothrow));
4991// Heap sort
4992// func:amc.FDb.c_ctype_sorted.HeapSort
4993void c_ctype_sorted_HeapSort() __attribute__((nothrow));
4994// Quick sort
4995// func:amc.FDb.c_ctype_sorted.QuickSort
4996void c_ctype_sorted_QuickSort() __attribute__((nothrow));
4997
4998// Allocate memory for new default row.
4999// If out of memory, process is killed.
5000// func:amc.FDb.enumstr.Alloc
5001amc::FEnumstr& enumstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
5002// Allocate memory for new element. If out of memory, return NULL.
5003// func:amc.FDb.enumstr.AllocMaybe
5004amc::FEnumstr* enumstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5005// Allocate space for one element. If no memory available, return NULL.
5006// func:amc.FDb.enumstr.AllocMem
5007void* enumstr_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5008// Return true if index is empty
5009// func:amc.FDb.enumstr.EmptyQ
5010bool enumstr_EmptyQ() __attribute__((nothrow, pure));
5011// Look up row by row id. Return NULL if out of range
5012// func:amc.FDb.enumstr.Find
5013amc::FEnumstr* enumstr_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5014// Return pointer to last element of array, or NULL if array is empty
5015// func:amc.FDb.enumstr.Last
5016amc::FEnumstr* enumstr_Last() __attribute__((nothrow, pure));
5017// Return number of items in the pool
5018// func:amc.FDb.enumstr.N
5019i32 enumstr_N() __attribute__((__warn_unused_result__, nothrow, pure));
5020// Remove all elements from Lary
5021// func:amc.FDb.enumstr.RemoveAll
5022void enumstr_RemoveAll() __attribute__((nothrow));
5023// Delete last element of array. Do nothing if array is empty.
5024// func:amc.FDb.enumstr.RemoveLast
5025void enumstr_RemoveLast() __attribute__((nothrow));
5026// 'quick' Access row by row id. No bounds checking.
5027// func:amc.FDb.enumstr.qFind
5028amc::FEnumstr& enumstr_qFind(u64 t) __attribute__((nothrow, pure));
5029// Insert row into all appropriate indices. If error occurs, store error
5030// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5031// func:amc.FDb.enumstr.XrefMaybe
5032bool enumstr_XrefMaybe(amc::FEnumstr &row);
5033
5034// Allocate memory for new default row.
5035// If out of memory, process is killed.
5036// func:amc.FDb.enumstr_len.Alloc
5037amc::FEnumstrLen& enumstr_len_Alloc() __attribute__((__warn_unused_result__, nothrow));
5038// Allocate memory for new element. If out of memory, return NULL.
5039// func:amc.FDb.enumstr_len.AllocMaybe
5040amc::FEnumstrLen* enumstr_len_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5041// Allocate space for one element. If no memory available, return NULL.
5042// func:amc.FDb.enumstr_len.AllocMem
5043void* enumstr_len_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5044// Return true if index is empty
5045// func:amc.FDb.enumstr_len.EmptyQ
5046bool enumstr_len_EmptyQ() __attribute__((nothrow, pure));
5047// Look up row by row id. Return NULL if out of range
5048// func:amc.FDb.enumstr_len.Find
5049amc::FEnumstrLen* enumstr_len_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5050// Return pointer to last element of array, or NULL if array is empty
5051// func:amc.FDb.enumstr_len.Last
5052amc::FEnumstrLen* enumstr_len_Last() __attribute__((nothrow, pure));
5053// Return number of items in the pool
5054// func:amc.FDb.enumstr_len.N
5055i32 enumstr_len_N() __attribute__((__warn_unused_result__, nothrow, pure));
5056// Remove all elements from Lary
5057// func:amc.FDb.enumstr_len.RemoveAll
5058void enumstr_len_RemoveAll() __attribute__((nothrow));
5059// Delete last element of array. Do nothing if array is empty.
5060// func:amc.FDb.enumstr_len.RemoveLast
5061void enumstr_len_RemoveLast() __attribute__((nothrow));
5062// 'quick' Access row by row id. No bounds checking.
5063// func:amc.FDb.enumstr_len.qFind
5064amc::FEnumstrLen& enumstr_len_qFind(u64 t) __attribute__((nothrow, pure));
5065// Insert row into all appropriate indices. If error occurs, store error
5066// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5067// func:amc.FDb.enumstr_len.XrefMaybe
5068bool enumstr_len_XrefMaybe(amc::FEnumstrLen &row);
5069
5070// Remove all elements from heap and free memory used by the array.
5071// func:amc.FDb.bh_enumstr_len.Dealloc
5072void bh_enumstr_len_Dealloc() __attribute__((nothrow));
5073// Return true if index is empty
5074// func:amc.FDb.bh_enumstr_len.EmptyQ
5075bool bh_enumstr_len_EmptyQ() __attribute__((nothrow));
5076// If index empty, return NULL. Otherwise return pointer to first element in index
5077// func:amc.FDb.bh_enumstr_len.First
5078amc::FEnumstrLen* bh_enumstr_len_First() __attribute__((__warn_unused_result__, nothrow, pure));
5079// Return true if row is in index, false otherwise
5080// func:amc.FDb.bh_enumstr_len.InBheapQ
5081bool bh_enumstr_len_InBheapQ(amc::FEnumstrLen& row) __attribute__((__warn_unused_result__, nothrow));
5082// Insert row. Row must not already be in index. If row is already in index, do nothing.
5083// func:amc.FDb.bh_enumstr_len.Insert
5084void bh_enumstr_len_Insert(amc::FEnumstrLen& row) __attribute__((nothrow));
5085// Return number of items in the heap
5086// func:amc.FDb.bh_enumstr_len.N
5087i32 bh_enumstr_len_N() __attribute__((__warn_unused_result__, nothrow, pure));
5088// If row is in heap, update its position. If row is not in heap, insert it.
5089// Return new position of item in the heap (0=top)
5090// func:amc.FDb.bh_enumstr_len.Reheap
5091i32 bh_enumstr_len_Reheap(amc::FEnumstrLen& row) __attribute__((nothrow));
5092// Key of first element in the heap changed. Move it.
5093// This function does not check the insert condition.
5094// Return new position of item in the heap (0=top).
5095// Heap must be non-empty or behavior is undefined.
5096// func:amc.FDb.bh_enumstr_len.ReheapFirst
5097i32 bh_enumstr_len_ReheapFirst() __attribute__((nothrow));
5098// Remove element from index. If element is not in index, do nothing.
5099// func:amc.FDb.bh_enumstr_len.Remove
5100void bh_enumstr_len_Remove(amc::FEnumstrLen& row) __attribute__((nothrow));
5101// Remove all elements from binary heap
5102// func:amc.FDb.bh_enumstr_len.RemoveAll
5103void bh_enumstr_len_RemoveAll() __attribute__((nothrow));
5104// If index is empty, return NULL. Otherwise remove and return first key in index.
5105// Call 'head changed' trigger.
5106// func:amc.FDb.bh_enumstr_len.RemoveFirst
5107amc::FEnumstrLen* bh_enumstr_len_RemoveFirst() __attribute__((nothrow));
5108// Reserve space in index for N more elements
5109// func:amc.FDb.bh_enumstr_len.Reserve
5110void bh_enumstr_len_Reserve(int n) __attribute__((nothrow));
5111
5112// Return true if hash is empty
5113// func:amc.FDb.ind_enumstr_len.EmptyQ
5114bool ind_enumstr_len_EmptyQ() __attribute__((nothrow));
5115// Find row by key. Return NULL if not found.
5116// func:amc.FDb.ind_enumstr_len.Find
5117amc::FEnumstrLen* ind_enumstr_len_Find(i32 key) __attribute__((__warn_unused_result__, nothrow));
5118// Find row by key. If not found, create and x-reference a new row with with this key.
5119// func:amc.FDb.ind_enumstr_len.GetOrCreate
5120amc::FEnumstrLen& ind_enumstr_len_GetOrCreate(i32 key) __attribute__((nothrow));
5121// Return number of items in the hash
5122// func:amc.FDb.ind_enumstr_len.N
5123i32 ind_enumstr_len_N() __attribute__((__warn_unused_result__, nothrow, pure));
5124// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
5125// func:amc.FDb.ind_enumstr_len.InsertMaybe
5126bool ind_enumstr_len_InsertMaybe(amc::FEnumstrLen& row) __attribute__((nothrow));
5127// Remove reference to element from hash index. If element is not in hash, do nothing
5128// func:amc.FDb.ind_enumstr_len.Remove
5129void ind_enumstr_len_Remove(amc::FEnumstrLen& row) __attribute__((nothrow));
5130// Reserve enough room in the hash for N more elements. Return success code.
5131// func:amc.FDb.ind_enumstr_len.Reserve
5132void ind_enumstr_len_Reserve(int n) __attribute__((nothrow));
5133
5134// Return true if hash is empty
5135// func:amc.FDb.ind_enumstr.EmptyQ
5136bool ind_enumstr_EmptyQ() __attribute__((nothrow));
5137// Find row by key. Return NULL if not found.
5138// func:amc.FDb.ind_enumstr.Find
5139amc::FEnumstr* ind_enumstr_Find(const amc::Enumstr& key) __attribute__((__warn_unused_result__, nothrow));
5140// Find row by key. If not found, create and x-reference a new row with with this key.
5141// func:amc.FDb.ind_enumstr.GetOrCreate
5142amc::FEnumstr& ind_enumstr_GetOrCreate(const amc::Enumstr& key) __attribute__((nothrow));
5143// Return number of items in the hash
5144// func:amc.FDb.ind_enumstr.N
5145i32 ind_enumstr_N() __attribute__((__warn_unused_result__, nothrow, pure));
5146// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
5147// func:amc.FDb.ind_enumstr.InsertMaybe
5148bool ind_enumstr_InsertMaybe(amc::FEnumstr& row) __attribute__((nothrow));
5149// Remove reference to element from hash index. If element is not in hash, do nothing
5150// func:amc.FDb.ind_enumstr.Remove
5151void ind_enumstr_Remove(amc::FEnumstr& row) __attribute__((nothrow));
5152// Reserve enough room in the hash for N more elements. Return success code.
5153// func:amc.FDb.ind_enumstr.Reserve
5154void ind_enumstr_Reserve(int n) __attribute__((nothrow));
5155
5156// Allocate memory for new default row.
5157// If out of memory, process is killed.
5158// func:amc.FDb.fbitset.Alloc
5159amc::FFbitset& fbitset_Alloc() __attribute__((__warn_unused_result__, nothrow));
5160// Allocate memory for new element. If out of memory, return NULL.
5161// func:amc.FDb.fbitset.AllocMaybe
5162amc::FFbitset* fbitset_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5163// Create new row from struct.
5164// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5165// func:amc.FDb.fbitset.InsertMaybe
5166amc::FFbitset* fbitset_InsertMaybe(const dmmeta::Fbitset &value) __attribute__((nothrow));
5167// Allocate space for one element. If no memory available, return NULL.
5168// func:amc.FDb.fbitset.AllocMem
5169void* fbitset_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5170// Return true if index is empty
5171// func:amc.FDb.fbitset.EmptyQ
5172bool fbitset_EmptyQ() __attribute__((nothrow, pure));
5173// Look up row by row id. Return NULL if out of range
5174// func:amc.FDb.fbitset.Find
5175amc::FFbitset* fbitset_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5176// Return pointer to last element of array, or NULL if array is empty
5177// func:amc.FDb.fbitset.Last
5178amc::FFbitset* fbitset_Last() __attribute__((nothrow, pure));
5179// Return number of items in the pool
5180// func:amc.FDb.fbitset.N
5181i32 fbitset_N() __attribute__((__warn_unused_result__, nothrow, pure));
5182// Delete last element of array. Do nothing if array is empty.
5183// func:amc.FDb.fbitset.RemoveLast
5184void fbitset_RemoveLast() __attribute__((nothrow));
5185// 'quick' Access row by row id. No bounds checking.
5186// func:amc.FDb.fbitset.qFind
5187amc::FFbitset& fbitset_qFind(u64 t) __attribute__((nothrow, pure));
5188// Insert row into all appropriate indices. If error occurs, store error
5189// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5190// func:amc.FDb.fbitset.XrefMaybe
5191bool fbitset_XrefMaybe(amc::FFbitset &row);
5192
5193// Return true if hash is empty
5194// func:amc.FDb.ind_fbitset.EmptyQ
5195bool ind_fbitset_EmptyQ() __attribute__((nothrow));
5196// Find row by key. Return NULL if not found.
5197// func:amc.FDb.ind_fbitset.Find
5198amc::FFbitset* ind_fbitset_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
5199// Find row by key. If not found, create and x-reference a new row with with this key.
5200// func:amc.FDb.ind_fbitset.GetOrCreate
5201amc::FFbitset& ind_fbitset_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
5202// Return number of items in the hash
5203// func:amc.FDb.ind_fbitset.N
5204i32 ind_fbitset_N() __attribute__((__warn_unused_result__, nothrow, pure));
5205// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
5206// func:amc.FDb.ind_fbitset.InsertMaybe
5207bool ind_fbitset_InsertMaybe(amc::FFbitset& row) __attribute__((nothrow));
5208// Remove reference to element from hash index. If element is not in hash, do nothing
5209// func:amc.FDb.ind_fbitset.Remove
5210void ind_fbitset_Remove(amc::FFbitset& row) __attribute__((nothrow));
5211// Reserve enough room in the hash for N more elements. Return success code.
5212// func:amc.FDb.ind_fbitset.Reserve
5213void ind_fbitset_Reserve(int n) __attribute__((nothrow));
5214
5215// Allocate memory for new default row.
5216// If out of memory, process is killed.
5217// func:amc.FDb.fcleanup.Alloc
5218amc::FFcleanup& fcleanup_Alloc() __attribute__((__warn_unused_result__, nothrow));
5219// Allocate memory for new element. If out of memory, return NULL.
5220// func:amc.FDb.fcleanup.AllocMaybe
5221amc::FFcleanup* fcleanup_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5222// Create new row from struct.
5223// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5224// func:amc.FDb.fcleanup.InsertMaybe
5225amc::FFcleanup* fcleanup_InsertMaybe(const dmmeta::Fcleanup &value) __attribute__((nothrow));
5226// Allocate space for one element. If no memory available, return NULL.
5227// func:amc.FDb.fcleanup.AllocMem
5228void* fcleanup_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5229// Return true if index is empty
5230// func:amc.FDb.fcleanup.EmptyQ
5231bool fcleanup_EmptyQ() __attribute__((nothrow, pure));
5232// Look up row by row id. Return NULL if out of range
5233// func:amc.FDb.fcleanup.Find
5234amc::FFcleanup* fcleanup_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5235// Return pointer to last element of array, or NULL if array is empty
5236// func:amc.FDb.fcleanup.Last
5237amc::FFcleanup* fcleanup_Last() __attribute__((nothrow, pure));
5238// Return number of items in the pool
5239// func:amc.FDb.fcleanup.N
5240i32 fcleanup_N() __attribute__((__warn_unused_result__, nothrow, pure));
5241// Delete last element of array. Do nothing if array is empty.
5242// func:amc.FDb.fcleanup.RemoveLast
5243void fcleanup_RemoveLast() __attribute__((nothrow));
5244// 'quick' Access row by row id. No bounds checking.
5245// func:amc.FDb.fcleanup.qFind
5246amc::FFcleanup& fcleanup_qFind(u64 t) __attribute__((nothrow, pure));
5247// Insert row into all appropriate indices. If error occurs, store error
5248// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5249// func:amc.FDb.fcleanup.XrefMaybe
5250bool fcleanup_XrefMaybe(amc::FFcleanup &row);
5251
5252// Allocate memory for new default row.
5253// If out of memory, process is killed.
5254// func:amc.FDb.fdec.Alloc
5255amc::FFdec& fdec_Alloc() __attribute__((__warn_unused_result__, nothrow));
5256// Allocate memory for new element. If out of memory, return NULL.
5257// func:amc.FDb.fdec.AllocMaybe
5258amc::FFdec* fdec_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5259// Create new row from struct.
5260// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5261// func:amc.FDb.fdec.InsertMaybe
5262amc::FFdec* fdec_InsertMaybe(const dmmeta::Fdec &value) __attribute__((nothrow));
5263// Allocate space for one element. If no memory available, return NULL.
5264// func:amc.FDb.fdec.AllocMem
5265void* fdec_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5266// Return true if index is empty
5267// func:amc.FDb.fdec.EmptyQ
5268bool fdec_EmptyQ() __attribute__((nothrow, pure));
5269// Look up row by row id. Return NULL if out of range
5270// func:amc.FDb.fdec.Find
5271amc::FFdec* fdec_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5272// Return pointer to last element of array, or NULL if array is empty
5273// func:amc.FDb.fdec.Last
5274amc::FFdec* fdec_Last() __attribute__((nothrow, pure));
5275// Return number of items in the pool
5276// func:amc.FDb.fdec.N
5277i32 fdec_N() __attribute__((__warn_unused_result__, nothrow, pure));
5278// Delete last element of array. Do nothing if array is empty.
5279// func:amc.FDb.fdec.RemoveLast
5280void fdec_RemoveLast() __attribute__((nothrow));
5281// 'quick' Access row by row id. No bounds checking.
5282// func:amc.FDb.fdec.qFind
5283amc::FFdec& fdec_qFind(u64 t) __attribute__((nothrow, pure));
5284// Insert row into all appropriate indices. If error occurs, store error
5285// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5286// func:amc.FDb.fdec.XrefMaybe
5287bool fdec_XrefMaybe(amc::FFdec &row);
5288
5289// Return true if hash is empty
5290// func:amc.FDb.ind_fdec.EmptyQ
5291bool ind_fdec_EmptyQ() __attribute__((nothrow));
5292// Find row by key. Return NULL if not found.
5293// func:amc.FDb.ind_fdec.Find
5294amc::FFdec* ind_fdec_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
5295// Find row by key. If not found, create and x-reference a new row with with this key.
5296// func:amc.FDb.ind_fdec.GetOrCreate
5297amc::FFdec& ind_fdec_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
5298// Return number of items in the hash
5299// func:amc.FDb.ind_fdec.N
5300i32 ind_fdec_N() __attribute__((__warn_unused_result__, nothrow, pure));
5301// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
5302// func:amc.FDb.ind_fdec.InsertMaybe
5303bool ind_fdec_InsertMaybe(amc::FFdec& row) __attribute__((nothrow));
5304// Remove reference to element from hash index. If element is not in hash, do nothing
5305// func:amc.FDb.ind_fdec.Remove
5306void ind_fdec_Remove(amc::FFdec& row) __attribute__((nothrow));
5307// Reserve enough room in the hash for N more elements. Return success code.
5308// func:amc.FDb.ind_fdec.Reserve
5309void ind_fdec_Reserve(int n) __attribute__((nothrow));
5310
5311// Return true if hash is empty
5312// func:amc.FDb.ind_reftype.EmptyQ
5313bool ind_reftype_EmptyQ() __attribute__((nothrow));
5314// Find row by key. Return NULL if not found.
5315// func:amc.FDb.ind_reftype.Find
5316amc::FReftype* ind_reftype_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
5317// Find row by key. If not found, create and x-reference a new row with with this key.
5318// func:amc.FDb.ind_reftype.GetOrCreate
5319amc::FReftype& ind_reftype_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
5320// Return number of items in the hash
5321// func:amc.FDb.ind_reftype.N
5322i32 ind_reftype_N() __attribute__((__warn_unused_result__, nothrow, pure));
5323// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
5324// func:amc.FDb.ind_reftype.InsertMaybe
5325bool ind_reftype_InsertMaybe(amc::FReftype& row) __attribute__((nothrow));
5326// Remove reference to element from hash index. If element is not in hash, do nothing
5327// func:amc.FDb.ind_reftype.Remove
5328void ind_reftype_Remove(amc::FReftype& row) __attribute__((nothrow));
5329// Reserve enough room in the hash for N more elements. Return success code.
5330// func:amc.FDb.ind_reftype.Reserve
5331void ind_reftype_Reserve(int n) __attribute__((nothrow));
5332
5333// Allocate memory for new default row.
5334// If out of memory, process is killed.
5335// func:amc.FDb.fconst.Alloc
5336amc::FFconst& fconst_Alloc() __attribute__((__warn_unused_result__, nothrow));
5337// Allocate memory for new element. If out of memory, return NULL.
5338// func:amc.FDb.fconst.AllocMaybe
5339amc::FFconst* fconst_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5340// Create new row from struct.
5341// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5342// func:amc.FDb.fconst.InsertMaybe
5343amc::FFconst* fconst_InsertMaybe(const dmmeta::Fconst &value) __attribute__((nothrow));
5344// Allocate space for one element. If no memory available, return NULL.
5345// func:amc.FDb.fconst.AllocMem
5346void* fconst_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5347// Return true if index is empty
5348// func:amc.FDb.fconst.EmptyQ
5349bool fconst_EmptyQ() __attribute__((nothrow, pure));
5350// Look up row by row id. Return NULL if out of range
5351// func:amc.FDb.fconst.Find
5352amc::FFconst* fconst_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5353// Return pointer to last element of array, or NULL if array is empty
5354// func:amc.FDb.fconst.Last
5355amc::FFconst* fconst_Last() __attribute__((nothrow, pure));
5356// Return number of items in the pool
5357// func:amc.FDb.fconst.N
5358i32 fconst_N() __attribute__((__warn_unused_result__, nothrow, pure));
5359// Delete last element of array. Do nothing if array is empty.
5360// func:amc.FDb.fconst.RemoveLast
5361void fconst_RemoveLast() __attribute__((nothrow));
5362// 'quick' Access row by row id. No bounds checking.
5363// func:amc.FDb.fconst.qFind
5364amc::FFconst& fconst_qFind(u64 t) __attribute__((nothrow, pure));
5365// Insert row into all appropriate indices. If error occurs, store error
5366// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5367// func:amc.FDb.fconst.XrefMaybe
5368bool fconst_XrefMaybe(amc::FFconst &row);
5369
5370// Return true if hash is empty
5371// func:amc.FDb.ind_fconst.EmptyQ
5372bool ind_fconst_EmptyQ() __attribute__((nothrow));
5373// Find row by key. Return NULL if not found.
5374// func:amc.FDb.ind_fconst.Find
5375amc::FFconst* ind_fconst_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
5376// Find row by key. If not found, create and x-reference a new row with with this key.
5377// func:amc.FDb.ind_fconst.GetOrCreate
5378amc::FFconst& ind_fconst_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
5379// Return number of items in the hash
5380// func:amc.FDb.ind_fconst.N
5381i32 ind_fconst_N() __attribute__((__warn_unused_result__, nothrow, pure));
5382// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
5383// func:amc.FDb.ind_fconst.InsertMaybe
5384bool ind_fconst_InsertMaybe(amc::FFconst& row) __attribute__((nothrow));
5385// Remove reference to element from hash index. If element is not in hash, do nothing
5386// func:amc.FDb.ind_fconst.Remove
5387void ind_fconst_Remove(amc::FFconst& row) __attribute__((nothrow));
5388// Reserve enough room in the hash for N more elements. Return success code.
5389// func:amc.FDb.ind_fconst.Reserve
5390void ind_fconst_Reserve(int n) __attribute__((nothrow));
5391
5392// Return true if index is empty
5393// func:amc.FDb.c_ns_sorted.EmptyQ
5394bool c_ns_sorted_EmptyQ() __attribute__((nothrow));
5395// Look up row by row id. Return NULL if out of range
5396// func:amc.FDb.c_ns_sorted.Find
5397amc::FNs* c_ns_sorted_Find(u32 t) __attribute__((__warn_unused_result__, nothrow));
5398// Return array of pointers
5399// func:amc.FDb.c_ns_sorted.Getary
5400algo::aryptr<amc::FNs*> c_ns_sorted_Getary() __attribute__((nothrow));
5401// Insert pointer to row into array. Row must not already be in array.
5402// If pointer is already in the array, it may be inserted twice.
5403// func:amc.FDb.c_ns_sorted.Insert
5404void c_ns_sorted_Insert(amc::FNs& row) __attribute__((nothrow));
5405// Insert pointer to row in array.
5406// If row is already in the array, do nothing.
5407// Linear search is used to locate the element.
5408// Return value: whether element was inserted into array.
5409// func:amc.FDb.c_ns_sorted.ScanInsertMaybe
5410bool c_ns_sorted_ScanInsertMaybe(amc::FNs& row) __attribute__((nothrow));
5411// Return number of items in the pointer array
5412// func:amc.FDb.c_ns_sorted.N
5413i32 c_ns_sorted_N() __attribute__((__warn_unused_result__, nothrow, pure));
5414// Find element using linear scan. If element is in array, remove, otherwise do nothing
5415// func:amc.FDb.c_ns_sorted.Remove
5416void c_ns_sorted_Remove(amc::FNs& row) __attribute__((nothrow));
5417// Empty the index. (The rows are not deleted)
5418// func:amc.FDb.c_ns_sorted.RemoveAll
5419void c_ns_sorted_RemoveAll() __attribute__((nothrow));
5420// Reserve space in index for N more elements;
5421// func:amc.FDb.c_ns_sorted.Reserve
5422void c_ns_sorted_Reserve(u32 n) __attribute__((nothrow));
5423// Return reference without bounds checking
5424// func:amc.FDb.c_ns_sorted.qFind
5425amc::FNs& c_ns_sorted_qFind(u32 idx) __attribute__((nothrow));
5426// Reference to last element without bounds checking
5427// func:amc.FDb.c_ns_sorted.qLast
5428amc::FNs& c_ns_sorted_qLast() __attribute__((nothrow));
5429
5430// Allocate memory for new default row.
5431// If out of memory, process is killed.
5432// func:amc.FDb.finput.Alloc
5433amc::FFinput& finput_Alloc() __attribute__((__warn_unused_result__, nothrow));
5434// Allocate memory for new element. If out of memory, return NULL.
5435// func:amc.FDb.finput.AllocMaybe
5436amc::FFinput* finput_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5437// Create new row from struct.
5438// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5439// func:amc.FDb.finput.InsertMaybe
5440amc::FFinput* finput_InsertMaybe(const dmmeta::Finput &value) __attribute__((nothrow));
5441// Allocate space for one element. If no memory available, return NULL.
5442// func:amc.FDb.finput.AllocMem
5443void* finput_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5444// Return true if index is empty
5445// func:amc.FDb.finput.EmptyQ
5446bool finput_EmptyQ() __attribute__((nothrow, pure));
5447// Look up row by row id. Return NULL if out of range
5448// func:amc.FDb.finput.Find
5449amc::FFinput* finput_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5450// Return pointer to last element of array, or NULL if array is empty
5451// func:amc.FDb.finput.Last
5452amc::FFinput* finput_Last() __attribute__((nothrow, pure));
5453// Return number of items in the pool
5454// func:amc.FDb.finput.N
5455i32 finput_N() __attribute__((__warn_unused_result__, nothrow, pure));
5456// Delete last element of array. Do nothing if array is empty.
5457// func:amc.FDb.finput.RemoveLast
5458void finput_RemoveLast() __attribute__((nothrow));
5459// 'quick' Access row by row id. No bounds checking.
5460// func:amc.FDb.finput.qFind
5461amc::FFinput& finput_qFind(u64 t) __attribute__((nothrow, pure));
5462// Insert row into all appropriate indices. If error occurs, store error
5463// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5464// func:amc.FDb.finput.XrefMaybe
5465bool finput_XrefMaybe(amc::FFinput &row);
5466
5467// Allocate memory for new default row.
5468// If out of memory, process is killed.
5469// func:amc.FDb.foutput.Alloc
5470amc::FFoutput& foutput_Alloc() __attribute__((__warn_unused_result__, nothrow));
5471// Allocate memory for new element. If out of memory, return NULL.
5472// func:amc.FDb.foutput.AllocMaybe
5473amc::FFoutput* foutput_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5474// Create new row from struct.
5475// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5476// func:amc.FDb.foutput.InsertMaybe
5477amc::FFoutput* foutput_InsertMaybe(const dmmeta::Foutput &value) __attribute__((nothrow));
5478// Allocate space for one element. If no memory available, return NULL.
5479// func:amc.FDb.foutput.AllocMem
5480void* foutput_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5481// Return true if index is empty
5482// func:amc.FDb.foutput.EmptyQ
5483bool foutput_EmptyQ() __attribute__((nothrow, pure));
5484// Look up row by row id. Return NULL if out of range
5485// func:amc.FDb.foutput.Find
5486amc::FFoutput* foutput_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5487// Return pointer to last element of array, or NULL if array is empty
5488// func:amc.FDb.foutput.Last
5489amc::FFoutput* foutput_Last() __attribute__((nothrow, pure));
5490// Return number of items in the pool
5491// func:amc.FDb.foutput.N
5492i32 foutput_N() __attribute__((__warn_unused_result__, nothrow, pure));
5493// Delete last element of array. Do nothing if array is empty.
5494// func:amc.FDb.foutput.RemoveLast
5495void foutput_RemoveLast() __attribute__((nothrow));
5496// 'quick' Access row by row id. No bounds checking.
5497// func:amc.FDb.foutput.qFind
5498amc::FFoutput& foutput_qFind(u64 t) __attribute__((nothrow, pure));
5499// Insert row into all appropriate indices. If error occurs, store error
5500// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5501// func:amc.FDb.foutput.XrefMaybe
5502bool foutput_XrefMaybe(amc::FFoutput &row);
5503
5504// Allocate memory for new default row.
5505// If out of memory, process is killed.
5506// func:amc.FDb.fbuf.Alloc
5507amc::FFbuf& fbuf_Alloc() __attribute__((__warn_unused_result__, nothrow));
5508// Allocate memory for new element. If out of memory, return NULL.
5509// func:amc.FDb.fbuf.AllocMaybe
5510amc::FFbuf* fbuf_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5511// Create new row from struct.
5512// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5513// func:amc.FDb.fbuf.InsertMaybe
5514amc::FFbuf* fbuf_InsertMaybe(const dmmeta::Fbuf &value) __attribute__((nothrow));
5515// Allocate space for one element. If no memory available, return NULL.
5516// func:amc.FDb.fbuf.AllocMem
5517void* fbuf_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5518// Return true if index is empty
5519// func:amc.FDb.fbuf.EmptyQ
5520bool fbuf_EmptyQ() __attribute__((nothrow, pure));
5521// Look up row by row id. Return NULL if out of range
5522// func:amc.FDb.fbuf.Find
5523amc::FFbuf* fbuf_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5524// Return pointer to last element of array, or NULL if array is empty
5525// func:amc.FDb.fbuf.Last
5526amc::FFbuf* fbuf_Last() __attribute__((nothrow, pure));
5527// Return number of items in the pool
5528// func:amc.FDb.fbuf.N
5529i32 fbuf_N() __attribute__((__warn_unused_result__, nothrow, pure));
5530// Delete last element of array. Do nothing if array is empty.
5531// func:amc.FDb.fbuf.RemoveLast
5532void fbuf_RemoveLast() __attribute__((nothrow));
5533// 'quick' Access row by row id. No bounds checking.
5534// func:amc.FDb.fbuf.qFind
5535amc::FFbuf& fbuf_qFind(u64 t) __attribute__((nothrow, pure));
5536// Insert row into all appropriate indices. If error occurs, store error
5537// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5538// func:amc.FDb.fbuf.XrefMaybe
5539bool fbuf_XrefMaybe(amc::FFbuf &row);
5540
5541// Return true if hash is empty
5542// func:amc.FDb.ind_fbuf.EmptyQ
5543bool ind_fbuf_EmptyQ() __attribute__((nothrow));
5544// Find row by key. Return NULL if not found.
5545// func:amc.FDb.ind_fbuf.Find
5546amc::FFbuf* ind_fbuf_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
5547// Find row by key. If not found, create and x-reference a new row with with this key.
5548// func:amc.FDb.ind_fbuf.GetOrCreate
5549amc::FFbuf& ind_fbuf_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
5550// Return number of items in the hash
5551// func:amc.FDb.ind_fbuf.N
5552i32 ind_fbuf_N() __attribute__((__warn_unused_result__, nothrow, pure));
5553// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
5554// func:amc.FDb.ind_fbuf.InsertMaybe
5555bool ind_fbuf_InsertMaybe(amc::FFbuf& row) __attribute__((nothrow));
5556// Remove reference to element from hash index. If element is not in hash, do nothing
5557// func:amc.FDb.ind_fbuf.Remove
5558void ind_fbuf_Remove(amc::FFbuf& row) __attribute__((nothrow));
5559// Reserve enough room in the hash for N more elements. Return success code.
5560// func:amc.FDb.ind_fbuf.Reserve
5561void ind_fbuf_Reserve(int n) __attribute__((nothrow));
5562
5563// Allocate memory for new default row.
5564// If out of memory, process is killed.
5565// func:amc.FDb.chash.Alloc
5566amc::FChash& chash_Alloc() __attribute__((__warn_unused_result__, nothrow));
5567// Allocate memory for new element. If out of memory, return NULL.
5568// func:amc.FDb.chash.AllocMaybe
5569amc::FChash* chash_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5570// Create new row from struct.
5571// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5572// func:amc.FDb.chash.InsertMaybe
5573amc::FChash* chash_InsertMaybe(const dmmeta::Chash &value) __attribute__((nothrow));
5574// Allocate space for one element. If no memory available, return NULL.
5575// func:amc.FDb.chash.AllocMem
5576void* chash_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5577// Return true if index is empty
5578// func:amc.FDb.chash.EmptyQ
5579bool chash_EmptyQ() __attribute__((nothrow, pure));
5580// Look up row by row id. Return NULL if out of range
5581// func:amc.FDb.chash.Find
5582amc::FChash* chash_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5583// Return pointer to last element of array, or NULL if array is empty
5584// func:amc.FDb.chash.Last
5585amc::FChash* chash_Last() __attribute__((nothrow, pure));
5586// Return number of items in the pool
5587// func:amc.FDb.chash.N
5588i32 chash_N() __attribute__((__warn_unused_result__, nothrow, pure));
5589// Delete last element of array. Do nothing if array is empty.
5590// func:amc.FDb.chash.RemoveLast
5591void chash_RemoveLast() __attribute__((nothrow));
5592// 'quick' Access row by row id. No bounds checking.
5593// func:amc.FDb.chash.qFind
5594amc::FChash& chash_qFind(u64 t) __attribute__((nothrow, pure));
5595// Insert row into all appropriate indices. If error occurs, store error
5596// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5597// func:amc.FDb.chash.XrefMaybe
5598bool chash_XrefMaybe(amc::FChash &row);
5599
5600// Return true if hash is empty
5601// func:amc.FDb.ind_chash.EmptyQ
5602bool ind_chash_EmptyQ() __attribute__((nothrow));
5603// Find row by key. Return NULL if not found.
5604// func:amc.FDb.ind_chash.Find
5605amc::FChash* ind_chash_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
5606// Find row by key. If not found, create and x-reference a new row with with this key.
5607// func:amc.FDb.ind_chash.GetOrCreate
5608amc::FChash& ind_chash_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
5609// Return number of items in the hash
5610// func:amc.FDb.ind_chash.N
5611i32 ind_chash_N() __attribute__((__warn_unused_result__, nothrow, pure));
5612// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
5613// func:amc.FDb.ind_chash.InsertMaybe
5614bool ind_chash_InsertMaybe(amc::FChash& row) __attribute__((nothrow));
5615// Remove reference to element from hash index. If element is not in hash, do nothing
5616// func:amc.FDb.ind_chash.Remove
5617void ind_chash_Remove(amc::FChash& row) __attribute__((nothrow));
5618// Reserve enough room in the hash for N more elements. Return success code.
5619// func:amc.FDb.ind_chash.Reserve
5620void ind_chash_Reserve(int n) __attribute__((nothrow));
5621
5622// Allocate memory for new default row.
5623// If out of memory, process is killed.
5624// func:amc.FDb.ccmp.Alloc
5625amc::FCcmp& ccmp_Alloc() __attribute__((__warn_unused_result__, nothrow));
5626// Allocate memory for new element. If out of memory, return NULL.
5627// func:amc.FDb.ccmp.AllocMaybe
5628amc::FCcmp* ccmp_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5629// Create new row from struct.
5630// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5631// func:amc.FDb.ccmp.InsertMaybe
5632amc::FCcmp* ccmp_InsertMaybe(const dmmeta::Ccmp &value) __attribute__((nothrow));
5633// Allocate space for one element. If no memory available, return NULL.
5634// func:amc.FDb.ccmp.AllocMem
5635void* ccmp_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5636// Return true if index is empty
5637// func:amc.FDb.ccmp.EmptyQ
5638bool ccmp_EmptyQ() __attribute__((nothrow, pure));
5639// Look up row by row id. Return NULL if out of range
5640// func:amc.FDb.ccmp.Find
5641amc::FCcmp* ccmp_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5642// Return pointer to last element of array, or NULL if array is empty
5643// func:amc.FDb.ccmp.Last
5644amc::FCcmp* ccmp_Last() __attribute__((nothrow, pure));
5645// Return number of items in the pool
5646// func:amc.FDb.ccmp.N
5647i32 ccmp_N() __attribute__((__warn_unused_result__, nothrow, pure));
5648// Delete last element of array. Do nothing if array is empty.
5649// func:amc.FDb.ccmp.RemoveLast
5650void ccmp_RemoveLast() __attribute__((nothrow));
5651// 'quick' Access row by row id. No bounds checking.
5652// func:amc.FDb.ccmp.qFind
5653amc::FCcmp& ccmp_qFind(u64 t) __attribute__((nothrow, pure));
5654// Insert row into all appropriate indices. If error occurs, store error
5655// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5656// func:amc.FDb.ccmp.XrefMaybe
5657bool ccmp_XrefMaybe(amc::FCcmp &row);
5658
5659// Return true if hash is empty
5660// func:amc.FDb.ind_ccmp.EmptyQ
5661bool ind_ccmp_EmptyQ() __attribute__((nothrow));
5662// Find row by key. Return NULL if not found.
5663// func:amc.FDb.ind_ccmp.Find
5664amc::FCcmp* ind_ccmp_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
5665// Find row by key. If not found, create and x-reference a new row with with this key.
5666// func:amc.FDb.ind_ccmp.GetOrCreate
5667amc::FCcmp& ind_ccmp_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
5668// Return number of items in the hash
5669// func:amc.FDb.ind_ccmp.N
5670i32 ind_ccmp_N() __attribute__((__warn_unused_result__, nothrow, pure));
5671// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
5672// func:amc.FDb.ind_ccmp.InsertMaybe
5673bool ind_ccmp_InsertMaybe(amc::FCcmp& row) __attribute__((nothrow));
5674// Remove reference to element from hash index. If element is not in hash, do nothing
5675// func:amc.FDb.ind_ccmp.Remove
5676void ind_ccmp_Remove(amc::FCcmp& row) __attribute__((nothrow));
5677// Reserve enough room in the hash for N more elements. Return success code.
5678// func:amc.FDb.ind_ccmp.Reserve
5679void ind_ccmp_Reserve(int n) __attribute__((nothrow));
5680
5681// Allocate memory for new default row.
5682// If out of memory, process is killed.
5683// func:amc.FDb.fbigend.Alloc
5684amc::FFbigend& fbigend_Alloc() __attribute__((__warn_unused_result__, nothrow));
5685// Allocate memory for new element. If out of memory, return NULL.
5686// func:amc.FDb.fbigend.AllocMaybe
5687amc::FFbigend* fbigend_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5688// Create new row from struct.
5689// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5690// func:amc.FDb.fbigend.InsertMaybe
5691amc::FFbigend* fbigend_InsertMaybe(const dmmeta::Fbigend &value) __attribute__((nothrow));
5692// Allocate space for one element. If no memory available, return NULL.
5693// func:amc.FDb.fbigend.AllocMem
5694void* fbigend_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5695// Return true if index is empty
5696// func:amc.FDb.fbigend.EmptyQ
5697bool fbigend_EmptyQ() __attribute__((nothrow, pure));
5698// Look up row by row id. Return NULL if out of range
5699// func:amc.FDb.fbigend.Find
5700amc::FFbigend* fbigend_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5701// Return pointer to last element of array, or NULL if array is empty
5702// func:amc.FDb.fbigend.Last
5703amc::FFbigend* fbigend_Last() __attribute__((nothrow, pure));
5704// Return number of items in the pool
5705// func:amc.FDb.fbigend.N
5706i32 fbigend_N() __attribute__((__warn_unused_result__, nothrow, pure));
5707// Delete last element of array. Do nothing if array is empty.
5708// func:amc.FDb.fbigend.RemoveLast
5709void fbigend_RemoveLast() __attribute__((nothrow));
5710// 'quick' Access row by row id. No bounds checking.
5711// func:amc.FDb.fbigend.qFind
5712amc::FFbigend& fbigend_qFind(u64 t) __attribute__((nothrow, pure));
5713// Insert row into all appropriate indices. If error occurs, store error
5714// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5715// func:amc.FDb.fbigend.XrefMaybe
5716bool fbigend_XrefMaybe(amc::FFbigend &row);
5717
5718// Return true if index is empty
5719// func:amc.FDb.zsl_ctype_pack_tran.EmptyQ
5720bool zsl_ctype_pack_tran_EmptyQ() __attribute__((__warn_unused_result__, nothrow, pure));
5721// If index empty, return NULL. Otherwise return pointer to first element in index
5722// func:amc.FDb.zsl_ctype_pack_tran.First
5723amc::FCtype* zsl_ctype_pack_tran_First() __attribute__((__warn_unused_result__, nothrow, pure));
5724// Return true if row is in the linked list, false otherwise
5725// func:amc.FDb.zsl_ctype_pack_tran.InLlistQ
5726bool zsl_ctype_pack_tran_InLlistQ(amc::FCtype& row) __attribute__((__warn_unused_result__, nothrow));
5727// Insert row into linked list. If row is already in linked list, do nothing.
5728// func:amc.FDb.zsl_ctype_pack_tran.Insert
5729void zsl_ctype_pack_tran_Insert(amc::FCtype& row) __attribute__((nothrow));
5730// Return pointer to next element in the list
5731// func:amc.FDb.zsl_ctype_pack_tran.Next
5732amc::FCtype* zsl_ctype_pack_tran_Next(amc::FCtype &row) __attribute__((__warn_unused_result__, nothrow));
5733// Remove element from index. If element is not in index, do nothing.
5734// Since the list is singly-linked, use linear search to locate the element.
5735// func:amc.FDb.zsl_ctype_pack_tran.Remove
5736void zsl_ctype_pack_tran_Remove(amc::FCtype& row) __attribute__((nothrow));
5737// Empty the index. (The rows are not deleted)
5738// func:amc.FDb.zsl_ctype_pack_tran.RemoveAll
5739void zsl_ctype_pack_tran_RemoveAll() __attribute__((nothrow));
5740// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
5741// func:amc.FDb.zsl_ctype_pack_tran.RemoveFirst
5742amc::FCtype* zsl_ctype_pack_tran_RemoveFirst() __attribute__((nothrow));
5743
5744// Allocate memory for new default row.
5745// If out of memory, process is killed.
5746// func:amc.FDb.cstr.Alloc
5747amc::FCstr& cstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
5748// Allocate memory for new element. If out of memory, return NULL.
5749// func:amc.FDb.cstr.AllocMaybe
5750amc::FCstr* cstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5751// Create new row from struct.
5752// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5753// func:amc.FDb.cstr.InsertMaybe
5754amc::FCstr* cstr_InsertMaybe(const dmmeta::Cstr &value) __attribute__((nothrow));
5755// Allocate space for one element. If no memory available, return NULL.
5756// func:amc.FDb.cstr.AllocMem
5757void* cstr_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5758// Return true if index is empty
5759// func:amc.FDb.cstr.EmptyQ
5760bool cstr_EmptyQ() __attribute__((nothrow, pure));
5761// Look up row by row id. Return NULL if out of range
5762// func:amc.FDb.cstr.Find
5763amc::FCstr* cstr_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5764// Return pointer to last element of array, or NULL if array is empty
5765// func:amc.FDb.cstr.Last
5766amc::FCstr* cstr_Last() __attribute__((nothrow, pure));
5767// Return number of items in the pool
5768// func:amc.FDb.cstr.N
5769i32 cstr_N() __attribute__((__warn_unused_result__, nothrow, pure));
5770// Delete last element of array. Do nothing if array is empty.
5771// func:amc.FDb.cstr.RemoveLast
5772void cstr_RemoveLast() __attribute__((nothrow));
5773// 'quick' Access row by row id. No bounds checking.
5774// func:amc.FDb.cstr.qFind
5775amc::FCstr& cstr_qFind(u64 t) __attribute__((nothrow, pure));
5776// Insert row into all appropriate indices. If error occurs, store error
5777// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5778// func:amc.FDb.cstr.XrefMaybe
5779bool cstr_XrefMaybe(amc::FCstr &row);
5780
5781// Allocate memory for new default row.
5782// If out of memory, process is killed.
5783// func:amc.FDb.listtype.Alloc
5784amc::FListtype& listtype_Alloc() __attribute__((__warn_unused_result__, nothrow));
5785// Allocate memory for new element. If out of memory, return NULL.
5786// func:amc.FDb.listtype.AllocMaybe
5787amc::FListtype* listtype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5788// Create new row from struct.
5789// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5790// func:amc.FDb.listtype.InsertMaybe
5791amc::FListtype* listtype_InsertMaybe(const dmmeta::Listtype &value) __attribute__((nothrow));
5792// Allocate space for one element. If no memory available, return NULL.
5793// func:amc.FDb.listtype.AllocMem
5794void* listtype_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5795// Return true if index is empty
5796// func:amc.FDb.listtype.EmptyQ
5797bool listtype_EmptyQ() __attribute__((nothrow, pure));
5798// Look up row by row id. Return NULL if out of range
5799// func:amc.FDb.listtype.Find
5800amc::FListtype* listtype_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5801// Return pointer to last element of array, or NULL if array is empty
5802// func:amc.FDb.listtype.Last
5803amc::FListtype* listtype_Last() __attribute__((nothrow, pure));
5804// Return number of items in the pool
5805// func:amc.FDb.listtype.N
5806i32 listtype_N() __attribute__((__warn_unused_result__, nothrow, pure));
5807// Delete last element of array. Do nothing if array is empty.
5808// func:amc.FDb.listtype.RemoveLast
5809void listtype_RemoveLast() __attribute__((nothrow));
5810// 'quick' Access row by row id. No bounds checking.
5811// func:amc.FDb.listtype.qFind
5812amc::FListtype& listtype_qFind(u64 t) __attribute__((nothrow, pure));
5813// Insert row into all appropriate indices. If error occurs, store error
5814// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5815// func:amc.FDb.listtype.XrefMaybe
5816bool listtype_XrefMaybe(amc::FListtype &row);
5817
5818// Return true if hash is empty
5819// func:amc.FDb.ind_listtype.EmptyQ
5820bool ind_listtype_EmptyQ() __attribute__((nothrow));
5821// Find row by key. Return NULL if not found.
5822// func:amc.FDb.ind_listtype.Find
5823amc::FListtype* ind_listtype_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
5824// Find row by key. If not found, create and x-reference a new row with with this key.
5825// func:amc.FDb.ind_listtype.GetOrCreate
5826amc::FListtype& ind_listtype_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
5827// Return number of items in the hash
5828// func:amc.FDb.ind_listtype.N
5829i32 ind_listtype_N() __attribute__((__warn_unused_result__, nothrow, pure));
5830// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
5831// func:amc.FDb.ind_listtype.InsertMaybe
5832bool ind_listtype_InsertMaybe(amc::FListtype& row) __attribute__((nothrow));
5833// Remove reference to element from hash index. If element is not in hash, do nothing
5834// func:amc.FDb.ind_listtype.Remove
5835void ind_listtype_Remove(amc::FListtype& row) __attribute__((nothrow));
5836// Reserve enough room in the hash for N more elements. Return success code.
5837// func:amc.FDb.ind_listtype.Reserve
5838void ind_listtype_Reserve(int n) __attribute__((nothrow));
5839
5840// Allocate memory for new default row.
5841// If out of memory, process is killed.
5842// func:amc.FDb.fstep.Alloc
5843amc::FFstep& fstep_Alloc() __attribute__((__warn_unused_result__, nothrow));
5844// Allocate memory for new element. If out of memory, return NULL.
5845// func:amc.FDb.fstep.AllocMaybe
5846amc::FFstep* fstep_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5847// Create new row from struct.
5848// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5849// func:amc.FDb.fstep.InsertMaybe
5850amc::FFstep* fstep_InsertMaybe(const dmmeta::Fstep &value) __attribute__((nothrow));
5851// Allocate space for one element. If no memory available, return NULL.
5852// func:amc.FDb.fstep.AllocMem
5853void* fstep_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5854// Return true if index is empty
5855// func:amc.FDb.fstep.EmptyQ
5856bool fstep_EmptyQ() __attribute__((nothrow, pure));
5857// Look up row by row id. Return NULL if out of range
5858// func:amc.FDb.fstep.Find
5859amc::FFstep* fstep_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5860// Return pointer to last element of array, or NULL if array is empty
5861// func:amc.FDb.fstep.Last
5862amc::FFstep* fstep_Last() __attribute__((nothrow, pure));
5863// Return number of items in the pool
5864// func:amc.FDb.fstep.N
5865i32 fstep_N() __attribute__((__warn_unused_result__, nothrow, pure));
5866// Delete last element of array. Do nothing if array is empty.
5867// func:amc.FDb.fstep.RemoveLast
5868void fstep_RemoveLast() __attribute__((nothrow));
5869// 'quick' Access row by row id. No bounds checking.
5870// func:amc.FDb.fstep.qFind
5871amc::FFstep& fstep_qFind(u64 t) __attribute__((nothrow, pure));
5872// Insert row into all appropriate indices. If error occurs, store error
5873// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5874// func:amc.FDb.fstep.XrefMaybe
5875bool fstep_XrefMaybe(amc::FFstep &row);
5876
5877// Allocate memory for new default row.
5878// If out of memory, process is killed.
5879// func:amc.FDb.cextern.Alloc
5880amc::FCextern& cextern_Alloc() __attribute__((__warn_unused_result__, nothrow));
5881// Allocate memory for new element. If out of memory, return NULL.
5882// func:amc.FDb.cextern.AllocMaybe
5883amc::FCextern* cextern_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5884// Create new row from struct.
5885// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5886// func:amc.FDb.cextern.InsertMaybe
5887amc::FCextern* cextern_InsertMaybe(const dmmeta::Cextern &value) __attribute__((nothrow));
5888// Allocate space for one element. If no memory available, return NULL.
5889// func:amc.FDb.cextern.AllocMem
5890void* cextern_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5891// Return true if index is empty
5892// func:amc.FDb.cextern.EmptyQ
5893bool cextern_EmptyQ() __attribute__((nothrow, pure));
5894// Look up row by row id. Return NULL if out of range
5895// func:amc.FDb.cextern.Find
5896amc::FCextern* cextern_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5897// Return pointer to last element of array, or NULL if array is empty
5898// func:amc.FDb.cextern.Last
5899amc::FCextern* cextern_Last() __attribute__((nothrow, pure));
5900// Return number of items in the pool
5901// func:amc.FDb.cextern.N
5902i32 cextern_N() __attribute__((__warn_unused_result__, nothrow, pure));
5903// Delete last element of array. Do nothing if array is empty.
5904// func:amc.FDb.cextern.RemoveLast
5905void cextern_RemoveLast() __attribute__((nothrow));
5906// 'quick' Access row by row id. No bounds checking.
5907// func:amc.FDb.cextern.qFind
5908amc::FCextern& cextern_qFind(u64 t) __attribute__((nothrow, pure));
5909// Insert row into all appropriate indices. If error occurs, store error
5910// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5911// func:amc.FDb.cextern.XrefMaybe
5912bool cextern_XrefMaybe(amc::FCextern &row);
5913
5914// Allocate memory for new default row.
5915// If out of memory, process is killed.
5916// func:amc.FDb.fdelay.Alloc
5917amc::FFdelay& fdelay_Alloc() __attribute__((__warn_unused_result__, nothrow));
5918// Allocate memory for new element. If out of memory, return NULL.
5919// func:amc.FDb.fdelay.AllocMaybe
5920amc::FFdelay* fdelay_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5921// Create new row from struct.
5922// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5923// func:amc.FDb.fdelay.InsertMaybe
5924amc::FFdelay* fdelay_InsertMaybe(const dmmeta::Fdelay &value) __attribute__((nothrow));
5925// Allocate space for one element. If no memory available, return NULL.
5926// func:amc.FDb.fdelay.AllocMem
5927void* fdelay_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5928// Return true if index is empty
5929// func:amc.FDb.fdelay.EmptyQ
5930bool fdelay_EmptyQ() __attribute__((nothrow, pure));
5931// Look up row by row id. Return NULL if out of range
5932// func:amc.FDb.fdelay.Find
5933amc::FFdelay* fdelay_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5934// Return pointer to last element of array, or NULL if array is empty
5935// func:amc.FDb.fdelay.Last
5936amc::FFdelay* fdelay_Last() __attribute__((nothrow, pure));
5937// Return number of items in the pool
5938// func:amc.FDb.fdelay.N
5939i32 fdelay_N() __attribute__((__warn_unused_result__, nothrow, pure));
5940// Delete last element of array. Do nothing if array is empty.
5941// func:amc.FDb.fdelay.RemoveLast
5942void fdelay_RemoveLast() __attribute__((nothrow));
5943// 'quick' Access row by row id. No bounds checking.
5944// func:amc.FDb.fdelay.qFind
5945amc::FFdelay& fdelay_qFind(u64 t) __attribute__((nothrow, pure));
5946// Insert row into all appropriate indices. If error occurs, store error
5947// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5948// func:amc.FDb.fdelay.XrefMaybe
5949bool fdelay_XrefMaybe(amc::FFdelay &row);
5950
5951// Allocate memory for new default row.
5952// If out of memory, process is killed.
5953// func:amc.FDb.disptrace.Alloc
5954amc::FDisptrace& disptrace_Alloc() __attribute__((__warn_unused_result__, nothrow));
5955// Allocate memory for new element. If out of memory, return NULL.
5956// func:amc.FDb.disptrace.AllocMaybe
5957amc::FDisptrace* disptrace_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
5958// Create new row from struct.
5959// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
5960// func:amc.FDb.disptrace.InsertMaybe
5961amc::FDisptrace* disptrace_InsertMaybe(const dmmeta::Disptrace &value) __attribute__((nothrow));
5962// Allocate space for one element. If no memory available, return NULL.
5963// func:amc.FDb.disptrace.AllocMem
5964void* disptrace_AllocMem() __attribute__((__warn_unused_result__, nothrow));
5965// Return true if index is empty
5966// func:amc.FDb.disptrace.EmptyQ
5967bool disptrace_EmptyQ() __attribute__((nothrow, pure));
5968// Look up row by row id. Return NULL if out of range
5969// func:amc.FDb.disptrace.Find
5970amc::FDisptrace* disptrace_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
5971// Return pointer to last element of array, or NULL if array is empty
5972// func:amc.FDb.disptrace.Last
5973amc::FDisptrace* disptrace_Last() __attribute__((nothrow, pure));
5974// Return number of items in the pool
5975// func:amc.FDb.disptrace.N
5976i32 disptrace_N() __attribute__((__warn_unused_result__, nothrow, pure));
5977// Delete last element of array. Do nothing if array is empty.
5978// func:amc.FDb.disptrace.RemoveLast
5979void disptrace_RemoveLast() __attribute__((nothrow));
5980// 'quick' Access row by row id. No bounds checking.
5981// func:amc.FDb.disptrace.qFind
5982amc::FDisptrace& disptrace_qFind(u64 t) __attribute__((nothrow, pure));
5983// Insert row into all appropriate indices. If error occurs, store error
5984// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
5985// func:amc.FDb.disptrace.XrefMaybe
5986bool disptrace_XrefMaybe(amc::FDisptrace &row);
5987
5988// Return true if hash is empty
5989// func:amc.FDb.ind_fstep.EmptyQ
5990bool ind_fstep_EmptyQ() __attribute__((nothrow));
5991// Find row by key. Return NULL if not found.
5992// func:amc.FDb.ind_fstep.Find
5993amc::FFstep* ind_fstep_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
5994// Find row by key. If not found, create and x-reference a new row with with this key.
5995// func:amc.FDb.ind_fstep.GetOrCreate
5996amc::FFstep& ind_fstep_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
5997// Return number of items in the hash
5998// func:amc.FDb.ind_fstep.N
5999i32 ind_fstep_N() __attribute__((__warn_unused_result__, nothrow, pure));
6000// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
6001// func:amc.FDb.ind_fstep.InsertMaybe
6002bool ind_fstep_InsertMaybe(amc::FFstep& row) __attribute__((nothrow));
6003// Remove reference to element from hash index. If element is not in hash, do nothing
6004// func:amc.FDb.ind_fstep.Remove
6005void ind_fstep_Remove(amc::FFstep& row) __attribute__((nothrow));
6006// Reserve enough room in the hash for N more elements. Return success code.
6007// func:amc.FDb.ind_fstep.Reserve
6008void ind_fstep_Reserve(int n) __attribute__((nothrow));
6009
6010// Allocate memory for new default row.
6011// If out of memory, process is killed.
6012// func:amc.FDb.tracefld.Alloc
6013amc::FTracefld& tracefld_Alloc() __attribute__((__warn_unused_result__, nothrow));
6014// Allocate memory for new element. If out of memory, return NULL.
6015// func:amc.FDb.tracefld.AllocMaybe
6016amc::FTracefld* tracefld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6017// Create new row from struct.
6018// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6019// func:amc.FDb.tracefld.InsertMaybe
6020amc::FTracefld* tracefld_InsertMaybe(const dmmeta::Tracefld &value) __attribute__((nothrow));
6021// Allocate space for one element. If no memory available, return NULL.
6022// func:amc.FDb.tracefld.AllocMem
6023void* tracefld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6024// Return true if index is empty
6025// func:amc.FDb.tracefld.EmptyQ
6026bool tracefld_EmptyQ() __attribute__((nothrow, pure));
6027// Look up row by row id. Return NULL if out of range
6028// func:amc.FDb.tracefld.Find
6029amc::FTracefld* tracefld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6030// Return pointer to last element of array, or NULL if array is empty
6031// func:amc.FDb.tracefld.Last
6032amc::FTracefld* tracefld_Last() __attribute__((nothrow, pure));
6033// Return number of items in the pool
6034// func:amc.FDb.tracefld.N
6035i32 tracefld_N() __attribute__((__warn_unused_result__, nothrow, pure));
6036// Remove all elements from Lary
6037// func:amc.FDb.tracefld.RemoveAll
6038void tracefld_RemoveAll() __attribute__((nothrow));
6039// Delete last element of array. Do nothing if array is empty.
6040// func:amc.FDb.tracefld.RemoveLast
6041void tracefld_RemoveLast() __attribute__((nothrow));
6042// 'quick' Access row by row id. No bounds checking.
6043// func:amc.FDb.tracefld.qFind
6044amc::FTracefld& tracefld_qFind(u64 t) __attribute__((nothrow, pure));
6045// Save table to ssimfile
6046// func:amc.FDb.tracefld.SaveSsimfile
6047bool tracefld_SaveSsimfile(algo::strptr fname) __attribute__((nothrow));
6048// Insert row into all appropriate indices. If error occurs, store error
6049// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6050// func:amc.FDb.tracefld.XrefMaybe
6051bool tracefld_XrefMaybe(amc::FTracefld &row);
6052
6053// Allocate memory for new default row.
6054// If out of memory, process is killed.
6055// func:amc.FDb.tracerec.Alloc
6056amc::FTracerec& tracerec_Alloc() __attribute__((__warn_unused_result__, nothrow));
6057// Allocate memory for new element. If out of memory, return NULL.
6058// func:amc.FDb.tracerec.AllocMaybe
6059amc::FTracerec* tracerec_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6060// Create new row from struct.
6061// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6062// func:amc.FDb.tracerec.InsertMaybe
6063amc::FTracerec* tracerec_InsertMaybe(const dmmeta::Tracerec &value) __attribute__((nothrow));
6064// Allocate space for one element. If no memory available, return NULL.
6065// func:amc.FDb.tracerec.AllocMem
6066void* tracerec_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6067// Return true if index is empty
6068// func:amc.FDb.tracerec.EmptyQ
6069bool tracerec_EmptyQ() __attribute__((nothrow, pure));
6070// Look up row by row id. Return NULL if out of range
6071// func:amc.FDb.tracerec.Find
6072amc::FTracerec* tracerec_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6073// Return pointer to last element of array, or NULL if array is empty
6074// func:amc.FDb.tracerec.Last
6075amc::FTracerec* tracerec_Last() __attribute__((nothrow, pure));
6076// Return number of items in the pool
6077// func:amc.FDb.tracerec.N
6078i32 tracerec_N() __attribute__((__warn_unused_result__, nothrow, pure));
6079// Remove all elements from Lary
6080// func:amc.FDb.tracerec.RemoveAll
6081void tracerec_RemoveAll() __attribute__((nothrow));
6082// Delete last element of array. Do nothing if array is empty.
6083// func:amc.FDb.tracerec.RemoveLast
6084void tracerec_RemoveLast() __attribute__((nothrow));
6085// 'quick' Access row by row id. No bounds checking.
6086// func:amc.FDb.tracerec.qFind
6087amc::FTracerec& tracerec_qFind(u64 t) __attribute__((nothrow, pure));
6088// Save table to ssimfile
6089// func:amc.FDb.tracerec.SaveSsimfile
6090bool tracerec_SaveSsimfile(algo::strptr fname) __attribute__((nothrow));
6091// Insert row into all appropriate indices. If error occurs, store error
6092// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6093// func:amc.FDb.tracerec.XrefMaybe
6094bool tracerec_XrefMaybe(amc::FTracerec &row);
6095
6096// Allocate memory for new default row.
6097// If out of memory, process is killed.
6098// func:amc.FDb.dispsig.Alloc
6099amc::FDispsig& dispsig_Alloc() __attribute__((__warn_unused_result__, nothrow));
6100// Allocate memory for new element. If out of memory, return NULL.
6101// func:amc.FDb.dispsig.AllocMaybe
6102amc::FDispsig* dispsig_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6103// Create new row from struct.
6104// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6105// func:amc.FDb.dispsig.InsertMaybe
6106amc::FDispsig* dispsig_InsertMaybe(const dmmeta::Dispsig &value) __attribute__((nothrow));
6107// Allocate space for one element. If no memory available, return NULL.
6108// func:amc.FDb.dispsig.AllocMem
6109void* dispsig_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6110// Return true if index is empty
6111// func:amc.FDb.dispsig.EmptyQ
6112bool dispsig_EmptyQ() __attribute__((nothrow, pure));
6113// Look up row by row id. Return NULL if out of range
6114// func:amc.FDb.dispsig.Find
6115amc::FDispsig* dispsig_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6116// Return pointer to last element of array, or NULL if array is empty
6117// func:amc.FDb.dispsig.Last
6118amc::FDispsig* dispsig_Last() __attribute__((nothrow, pure));
6119// Return number of items in the pool
6120// func:amc.FDb.dispsig.N
6121i32 dispsig_N() __attribute__((__warn_unused_result__, nothrow, pure));
6122// Remove all elements from Lary
6123// func:amc.FDb.dispsig.RemoveAll
6124void dispsig_RemoveAll() __attribute__((nothrow));
6125// Delete last element of array. Do nothing if array is empty.
6126// func:amc.FDb.dispsig.RemoveLast
6127void dispsig_RemoveLast() __attribute__((nothrow));
6128// 'quick' Access row by row id. No bounds checking.
6129// func:amc.FDb.dispsig.qFind
6130amc::FDispsig& dispsig_qFind(u64 t) __attribute__((nothrow, pure));
6131// Insert row into all appropriate indices. If error occurs, store error
6132// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6133// func:amc.FDb.dispsig.XrefMaybe
6134bool dispsig_XrefMaybe(amc::FDispsig &row);
6135
6136// Return true if index is empty
6137// func:amc.FDb.c_dispsig_sorted.EmptyQ
6138bool c_dispsig_sorted_EmptyQ() __attribute__((nothrow));
6139// Look up row by row id. Return NULL if out of range
6140// func:amc.FDb.c_dispsig_sorted.Find
6141amc::FDispsig* c_dispsig_sorted_Find(u32 t) __attribute__((__warn_unused_result__, nothrow));
6142// Return array of pointers
6143// func:amc.FDb.c_dispsig_sorted.Getary
6144algo::aryptr<amc::FDispsig*> c_dispsig_sorted_Getary() __attribute__((nothrow));
6145// Insert pointer to row into array. Row must not already be in array.
6146// If pointer is already in the array, it may be inserted twice.
6147// func:amc.FDb.c_dispsig_sorted.Insert
6148void c_dispsig_sorted_Insert(amc::FDispsig& row) __attribute__((nothrow));
6149// Insert pointer to row in array.
6150// If row is already in the array, do nothing.
6151// Return value: whether element was inserted into array.
6152// func:amc.FDb.c_dispsig_sorted.InsertMaybe
6153bool c_dispsig_sorted_InsertMaybe(amc::FDispsig& row) __attribute__((nothrow));
6154// Return number of items in the pointer array
6155// func:amc.FDb.c_dispsig_sorted.N
6156i32 c_dispsig_sorted_N() __attribute__((__warn_unused_result__, nothrow, pure));
6157// Find element using linear scan. If element is in array, remove, otherwise do nothing
6158// func:amc.FDb.c_dispsig_sorted.Remove
6159void c_dispsig_sorted_Remove(amc::FDispsig& row) __attribute__((nothrow));
6160// Empty the index. (The rows are not deleted)
6161// func:amc.FDb.c_dispsig_sorted.RemoveAll
6162void c_dispsig_sorted_RemoveAll() __attribute__((nothrow));
6163// Reserve space in index for N more elements;
6164// func:amc.FDb.c_dispsig_sorted.Reserve
6165void c_dispsig_sorted_Reserve(u32 n) __attribute__((nothrow));
6166// Return reference without bounds checking
6167// func:amc.FDb.c_dispsig_sorted.qFind
6168amc::FDispsig& c_dispsig_sorted_qFind(u32 idx) __attribute__((nothrow));
6169// True if row is in any ptrary instance
6170// func:amc.FDb.c_dispsig_sorted.InAryQ
6171bool c_dispsig_sorted_InAryQ(amc::FDispsig& row) __attribute__((nothrow));
6172// Reference to last element without bounds checking
6173// func:amc.FDb.c_dispsig_sorted.qLast
6174amc::FDispsig& c_dispsig_sorted_qLast() __attribute__((nothrow));
6175// Verify whether array is sorted
6176// func:amc.FDb.c_dispsig_sorted.SortedQ
6177bool c_dispsig_sorted_SortedQ() __attribute__((nothrow));
6178// Insertion sort
6179// func:amc.FDb.c_dispsig_sorted.InsertionSort
6180void c_dispsig_sorted_InsertionSort() __attribute__((nothrow));
6181// Heap sort
6182// func:amc.FDb.c_dispsig_sorted.HeapSort
6183void c_dispsig_sorted_HeapSort() __attribute__((nothrow));
6184// Quick sort
6185// func:amc.FDb.c_dispsig_sorted.QuickSort
6186void c_dispsig_sorted_QuickSort() __attribute__((nothrow));
6187// Save table to ssimfile
6188// func:amc.FDb.c_dispsig_sorted.SaveSsimfile
6189bool c_dispsig_sorted_SaveSsimfile(algo::strptr fname) __attribute__((nothrow));
6190
6191// Return true if index is empty
6192// func:amc.FDb.zs_sig_visit.EmptyQ
6193bool zs_sig_visit_EmptyQ() __attribute__((__warn_unused_result__, nothrow, pure));
6194// If index empty, return NULL. Otherwise return pointer to first element in index
6195// func:amc.FDb.zs_sig_visit.First
6196amc::FCtype* zs_sig_visit_First() __attribute__((__warn_unused_result__, nothrow, pure));
6197// Return true if row is in the linked list, false otherwise
6198// func:amc.FDb.zs_sig_visit.InLlistQ
6199bool zs_sig_visit_InLlistQ(amc::FCtype& row) __attribute__((__warn_unused_result__, nothrow));
6200// Insert row into linked list. If row is already in linked list, do nothing.
6201// func:amc.FDb.zs_sig_visit.Insert
6202void zs_sig_visit_Insert(amc::FCtype& row) __attribute__((nothrow));
6203// If index empty, return NULL. Otherwise return pointer to last element in index
6204// func:amc.FDb.zs_sig_visit.Last
6205amc::FCtype* zs_sig_visit_Last() __attribute__((__warn_unused_result__, nothrow, pure));
6206// Return pointer to next element in the list
6207// func:amc.FDb.zs_sig_visit.Next
6208amc::FCtype* zs_sig_visit_Next(amc::FCtype &row) __attribute__((__warn_unused_result__, nothrow));
6209// Remove element from index. If element is not in index, do nothing.
6210// Since the list is singly-linked, use linear search to locate the element.
6211// func:amc.FDb.zs_sig_visit.Remove
6212void zs_sig_visit_Remove(amc::FCtype& row) __attribute__((nothrow));
6213// Empty the index. (The rows are not deleted)
6214// func:amc.FDb.zs_sig_visit.RemoveAll
6215void zs_sig_visit_RemoveAll() __attribute__((nothrow));
6216// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
6217// func:amc.FDb.zs_sig_visit.RemoveFirst
6218amc::FCtype* zs_sig_visit_RemoveFirst() __attribute__((nothrow));
6219// Return reference to last element in the index. No bounds checking.
6220// func:amc.FDb.zs_sig_visit.qLast
6221amc::FCtype& zs_sig_visit_qLast() __attribute__((__warn_unused_result__, nothrow));
6222
6223// Allocate memory for new default row.
6224// If out of memory, process is killed.
6225// func:amc.FDb.target.Alloc
6226amc::FTarget& target_Alloc() __attribute__((__warn_unused_result__, nothrow));
6227// Allocate memory for new element. If out of memory, return NULL.
6228// func:amc.FDb.target.AllocMaybe
6229amc::FTarget* target_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6230// Create new row from struct.
6231// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6232// func:amc.FDb.target.InsertMaybe
6233amc::FTarget* target_InsertMaybe(const dev::Target &value) __attribute__((nothrow));
6234// Allocate space for one element. If no memory available, return NULL.
6235// func:amc.FDb.target.AllocMem
6236void* target_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6237// Return true if index is empty
6238// func:amc.FDb.target.EmptyQ
6239bool target_EmptyQ() __attribute__((nothrow, pure));
6240// Look up row by row id. Return NULL if out of range
6241// func:amc.FDb.target.Find
6242amc::FTarget* target_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6243// Return pointer to last element of array, or NULL if array is empty
6244// func:amc.FDb.target.Last
6245amc::FTarget* target_Last() __attribute__((nothrow, pure));
6246// Return number of items in the pool
6247// func:amc.FDb.target.N
6248i32 target_N() __attribute__((__warn_unused_result__, nothrow, pure));
6249// Delete last element of array. Do nothing if array is empty.
6250// func:amc.FDb.target.RemoveLast
6251void target_RemoveLast() __attribute__((nothrow));
6252// 'quick' Access row by row id. No bounds checking.
6253// func:amc.FDb.target.qFind
6254amc::FTarget& target_qFind(u64 t) __attribute__((nothrow, pure));
6255// Insert row into all appropriate indices. If error occurs, store error
6256// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6257// func:amc.FDb.target.XrefMaybe
6258bool target_XrefMaybe(amc::FTarget &row);
6259
6260// Return true if hash is empty
6261// func:amc.FDb.ind_target.EmptyQ
6262bool ind_target_EmptyQ() __attribute__((nothrow));
6263// Find row by key. Return NULL if not found.
6264// func:amc.FDb.ind_target.Find
6265amc::FTarget* ind_target_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
6266// Find row by key. If not found, create and x-reference a new row with with this key.
6267// func:amc.FDb.ind_target.GetOrCreate
6268amc::FTarget& ind_target_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
6269// Return number of items in the hash
6270// func:amc.FDb.ind_target.N
6271i32 ind_target_N() __attribute__((__warn_unused_result__, nothrow, pure));
6272// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
6273// func:amc.FDb.ind_target.InsertMaybe
6274bool ind_target_InsertMaybe(amc::FTarget& row) __attribute__((nothrow));
6275// Remove reference to element from hash index. If element is not in hash, do nothing
6276// func:amc.FDb.ind_target.Remove
6277void ind_target_Remove(amc::FTarget& row) __attribute__((nothrow));
6278// Reserve enough room in the hash for N more elements. Return success code.
6279// func:amc.FDb.ind_target.Reserve
6280void ind_target_Reserve(int n) __attribute__((nothrow));
6281
6282// Allocate memory for new default row.
6283// If out of memory, process is killed.
6284// func:amc.FDb.targdep.Alloc
6285amc::FTargdep& targdep_Alloc() __attribute__((__warn_unused_result__, nothrow));
6286// Allocate memory for new element. If out of memory, return NULL.
6287// func:amc.FDb.targdep.AllocMaybe
6288amc::FTargdep* targdep_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6289// Create new row from struct.
6290// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6291// func:amc.FDb.targdep.InsertMaybe
6292amc::FTargdep* targdep_InsertMaybe(const dev::Targdep &value) __attribute__((nothrow));
6293// Allocate space for one element. If no memory available, return NULL.
6294// func:amc.FDb.targdep.AllocMem
6295void* targdep_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6296// Return true if index is empty
6297// func:amc.FDb.targdep.EmptyQ
6298bool targdep_EmptyQ() __attribute__((nothrow, pure));
6299// Look up row by row id. Return NULL if out of range
6300// func:amc.FDb.targdep.Find
6301amc::FTargdep* targdep_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6302// Return pointer to last element of array, or NULL if array is empty
6303// func:amc.FDb.targdep.Last
6304amc::FTargdep* targdep_Last() __attribute__((nothrow, pure));
6305// Return number of items in the pool
6306// func:amc.FDb.targdep.N
6307i32 targdep_N() __attribute__((__warn_unused_result__, nothrow, pure));
6308// Delete last element of array. Do nothing if array is empty.
6309// func:amc.FDb.targdep.RemoveLast
6310void targdep_RemoveLast() __attribute__((nothrow));
6311// 'quick' Access row by row id. No bounds checking.
6312// func:amc.FDb.targdep.qFind
6313amc::FTargdep& targdep_qFind(u64 t) __attribute__((nothrow, pure));
6314// Insert row into all appropriate indices. If error occurs, store error
6315// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6316// func:amc.FDb.targdep.XrefMaybe
6317bool targdep_XrefMaybe(amc::FTargdep &row);
6318
6319// Allocate memory for new default row.
6320// If out of memory, process is killed.
6321// func:amc.FDb.dispctx.Alloc
6322amc::FDispctx& dispctx_Alloc() __attribute__((__warn_unused_result__, nothrow));
6323// Allocate memory for new element. If out of memory, return NULL.
6324// func:amc.FDb.dispctx.AllocMaybe
6325amc::FDispctx* dispctx_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6326// Create new row from struct.
6327// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6328// func:amc.FDb.dispctx.InsertMaybe
6329amc::FDispctx* dispctx_InsertMaybe(const dmmeta::Dispctx &value) __attribute__((nothrow));
6330// Allocate space for one element. If no memory available, return NULL.
6331// func:amc.FDb.dispctx.AllocMem
6332void* dispctx_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6333// Return true if index is empty
6334// func:amc.FDb.dispctx.EmptyQ
6335bool dispctx_EmptyQ() __attribute__((nothrow, pure));
6336// Look up row by row id. Return NULL if out of range
6337// func:amc.FDb.dispctx.Find
6338amc::FDispctx* dispctx_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6339// Return pointer to last element of array, or NULL if array is empty
6340// func:amc.FDb.dispctx.Last
6341amc::FDispctx* dispctx_Last() __attribute__((nothrow, pure));
6342// Return number of items in the pool
6343// func:amc.FDb.dispctx.N
6344i32 dispctx_N() __attribute__((__warn_unused_result__, nothrow, pure));
6345// Delete last element of array. Do nothing if array is empty.
6346// func:amc.FDb.dispctx.RemoveLast
6347void dispctx_RemoveLast() __attribute__((nothrow));
6348// 'quick' Access row by row id. No bounds checking.
6349// func:amc.FDb.dispctx.qFind
6350amc::FDispctx& dispctx_qFind(u64 t) __attribute__((nothrow, pure));
6351// Insert row into all appropriate indices. If error occurs, store error
6352// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6353// func:amc.FDb.dispctx.XrefMaybe
6354bool dispctx_XrefMaybe(amc::FDispctx &row);
6355
6356// Allocate memory for new default row.
6357// If out of memory, process is killed.
6358// func:amc.FDb.pmaskfld.Alloc
6359amc::FPmaskfld& pmaskfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
6360// Allocate memory for new element. If out of memory, return NULL.
6361// func:amc.FDb.pmaskfld.AllocMaybe
6362amc::FPmaskfld* pmaskfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6363// Create new row from struct.
6364// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6365// func:amc.FDb.pmaskfld.InsertMaybe
6366amc::FPmaskfld* pmaskfld_InsertMaybe(const dmmeta::Pmaskfld &value) __attribute__((nothrow));
6367// Allocate space for one element. If no memory available, return NULL.
6368// func:amc.FDb.pmaskfld.AllocMem
6369void* pmaskfld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6370// Return true if index is empty
6371// func:amc.FDb.pmaskfld.EmptyQ
6372bool pmaskfld_EmptyQ() __attribute__((nothrow, pure));
6373// Look up row by row id. Return NULL if out of range
6374// func:amc.FDb.pmaskfld.Find
6375amc::FPmaskfld* pmaskfld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6376// Return pointer to last element of array, or NULL if array is empty
6377// func:amc.FDb.pmaskfld.Last
6378amc::FPmaskfld* pmaskfld_Last() __attribute__((nothrow, pure));
6379// Return number of items in the pool
6380// func:amc.FDb.pmaskfld.N
6381i32 pmaskfld_N() __attribute__((__warn_unused_result__, nothrow, pure));
6382// Delete last element of array. Do nothing if array is empty.
6383// func:amc.FDb.pmaskfld.RemoveLast
6384void pmaskfld_RemoveLast() __attribute__((nothrow));
6385// 'quick' Access row by row id. No bounds checking.
6386// func:amc.FDb.pmaskfld.qFind
6387amc::FPmaskfld& pmaskfld_qFind(u64 t) __attribute__((nothrow, pure));
6388// Insert row into all appropriate indices. If error occurs, store error
6389// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6390// func:amc.FDb.pmaskfld.XrefMaybe
6391bool pmaskfld_XrefMaybe(amc::FPmaskfld &row);
6392
6393// Allocate memory for new default row.
6394// If out of memory, process is killed.
6395// func:amc.FDb.fwddecl.Alloc
6396amc::FFwddecl& fwddecl_Alloc() __attribute__((__warn_unused_result__, nothrow));
6397// Allocate memory for new element. If out of memory, return NULL.
6398// func:amc.FDb.fwddecl.AllocMaybe
6399amc::FFwddecl* fwddecl_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6400// Create new row from struct.
6401// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6402// func:amc.FDb.fwddecl.InsertMaybe
6403amc::FFwddecl* fwddecl_InsertMaybe(const dmmeta::Fwddecl &value) __attribute__((nothrow));
6404// Allocate space for one element. If no memory available, return NULL.
6405// func:amc.FDb.fwddecl.AllocMem
6406void* fwddecl_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6407// Return true if index is empty
6408// func:amc.FDb.fwddecl.EmptyQ
6409bool fwddecl_EmptyQ() __attribute__((nothrow, pure));
6410// Look up row by row id. Return NULL if out of range
6411// func:amc.FDb.fwddecl.Find
6412amc::FFwddecl* fwddecl_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6413// Return pointer to last element of array, or NULL if array is empty
6414// func:amc.FDb.fwddecl.Last
6415amc::FFwddecl* fwddecl_Last() __attribute__((nothrow, pure));
6416// Return number of items in the pool
6417// func:amc.FDb.fwddecl.N
6418i32 fwddecl_N() __attribute__((__warn_unused_result__, nothrow, pure));
6419// Delete last element of array. Do nothing if array is empty.
6420// func:amc.FDb.fwddecl.RemoveLast
6421void fwddecl_RemoveLast() __attribute__((nothrow));
6422// 'quick' Access row by row id. No bounds checking.
6423// func:amc.FDb.fwddecl.qFind
6424amc::FFwddecl& fwddecl_qFind(u64 t) __attribute__((nothrow, pure));
6425// Insert row into all appropriate indices. If error occurs, store error
6426// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6427// func:amc.FDb.fwddecl.XrefMaybe
6428bool fwddecl_XrefMaybe(amc::FFwddecl &row);
6429
6430// Return true if hash is empty
6431// func:amc.FDb.ind_fwddecl.EmptyQ
6432bool ind_fwddecl_EmptyQ() __attribute__((nothrow));
6433// Find row by key. Return NULL if not found.
6434// func:amc.FDb.ind_fwddecl.Find
6435amc::FFwddecl* ind_fwddecl_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
6436// Find row by key. If not found, create and x-reference a new row with with this key.
6437// func:amc.FDb.ind_fwddecl.GetOrCreate
6438amc::FFwddecl& ind_fwddecl_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
6439// Return number of items in the hash
6440// func:amc.FDb.ind_fwddecl.N
6441i32 ind_fwddecl_N() __attribute__((__warn_unused_result__, nothrow, pure));
6442// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
6443// func:amc.FDb.ind_fwddecl.InsertMaybe
6444bool ind_fwddecl_InsertMaybe(amc::FFwddecl& row) __attribute__((nothrow));
6445// Remove reference to element from hash index. If element is not in hash, do nothing
6446// func:amc.FDb.ind_fwddecl.Remove
6447void ind_fwddecl_Remove(amc::FFwddecl& row) __attribute__((nothrow));
6448// Reserve enough room in the hash for N more elements. Return success code.
6449// func:amc.FDb.ind_fwddecl.Reserve
6450void ind_fwddecl_Reserve(int n) __attribute__((nothrow));
6451
6452// Allocate memory for new default row.
6453// If out of memory, process is killed.
6454// func:amc.FDb.tfunc.Alloc
6455amc::FTfunc& tfunc_Alloc() __attribute__((__warn_unused_result__, nothrow));
6456// Allocate memory for new element. If out of memory, return NULL.
6457// func:amc.FDb.tfunc.AllocMaybe
6458amc::FTfunc* tfunc_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6459// Create new row from struct.
6460// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6461// func:amc.FDb.tfunc.InsertMaybe
6462amc::FTfunc* tfunc_InsertMaybe(const amcdb::Tfunc &value) __attribute__((nothrow));
6463// Allocate space for one element. If no memory available, return NULL.
6464// func:amc.FDb.tfunc.AllocMem
6465void* tfunc_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6466// Return true if index is empty
6467// func:amc.FDb.tfunc.EmptyQ
6468bool tfunc_EmptyQ() __attribute__((nothrow, pure));
6469// Look up row by row id. Return NULL if out of range
6470// func:amc.FDb.tfunc.Find
6471amc::FTfunc* tfunc_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6472// Return pointer to last element of array, or NULL if array is empty
6473// func:amc.FDb.tfunc.Last
6474amc::FTfunc* tfunc_Last() __attribute__((nothrow, pure));
6475// Return number of items in the pool
6476// func:amc.FDb.tfunc.N
6477i32 tfunc_N() __attribute__((__warn_unused_result__, nothrow, pure));
6478// Remove all elements from Lary
6479// func:amc.FDb.tfunc.RemoveAll
6480void tfunc_RemoveAll() __attribute__((nothrow));
6481// Delete last element of array. Do nothing if array is empty.
6482// func:amc.FDb.tfunc.RemoveLast
6483void tfunc_RemoveLast() __attribute__((nothrow));
6484// 'quick' Access row by row id. No bounds checking.
6485// func:amc.FDb.tfunc.qFind
6486amc::FTfunc& tfunc_qFind(u64 t) __attribute__((nothrow, pure));
6487// Insert row into all appropriate indices. If error occurs, store error
6488// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6489// func:amc.FDb.tfunc.XrefMaybe
6490bool tfunc_XrefMaybe(amc::FTfunc &row);
6491
6492// Return true if hash is empty
6493// func:amc.FDb.ind_tfunc.EmptyQ
6494bool ind_tfunc_EmptyQ() __attribute__((nothrow));
6495// Find row by key. Return NULL if not found.
6496// func:amc.FDb.ind_tfunc.Find
6497amc::FTfunc* ind_tfunc_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
6498// Find row by key. If not found, create and x-reference a new row with with this key.
6499// func:amc.FDb.ind_tfunc.GetOrCreate
6500amc::FTfunc& ind_tfunc_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
6501// Return number of items in the hash
6502// func:amc.FDb.ind_tfunc.N
6503i32 ind_tfunc_N() __attribute__((__warn_unused_result__, nothrow, pure));
6504// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
6505// func:amc.FDb.ind_tfunc.InsertMaybe
6506bool ind_tfunc_InsertMaybe(amc::FTfunc& row) __attribute__((nothrow));
6507// Remove reference to element from hash index. If element is not in hash, do nothing
6508// func:amc.FDb.ind_tfunc.Remove
6509void ind_tfunc_Remove(amc::FTfunc& row) __attribute__((nothrow));
6510// Reserve enough room in the hash for N more elements. Return success code.
6511// func:amc.FDb.ind_tfunc.Reserve
6512void ind_tfunc_Reserve(int n) __attribute__((nothrow));
6513
6514// Allocate memory for new default row.
6515// If out of memory, process is killed.
6516// func:amc.FDb.gen.Alloc
6517amc::FGen& gen_Alloc() __attribute__((__warn_unused_result__, nothrow));
6518// Allocate memory for new element. If out of memory, return NULL.
6519// func:amc.FDb.gen.AllocMaybe
6520amc::FGen* gen_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6521// Create new row from struct.
6522// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6523// func:amc.FDb.gen.InsertMaybe
6524amc::FGen* gen_InsertMaybe(const amcdb::Gen &value) __attribute__((nothrow));
6525// Allocate space for one element. If no memory available, return NULL.
6526// func:amc.FDb.gen.AllocMem
6527void* gen_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6528// Return true if index is empty
6529// func:amc.FDb.gen.EmptyQ
6530bool gen_EmptyQ() __attribute__((nothrow, pure));
6531// Look up row by row id. Return NULL if out of range
6532// func:amc.FDb.gen.Find
6533amc::FGen* gen_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6534// Return pointer to last element of array, or NULL if array is empty
6535// func:amc.FDb.gen.Last
6536amc::FGen* gen_Last() __attribute__((nothrow, pure));
6537// Return number of items in the pool
6538// func:amc.FDb.gen.N
6539i32 gen_N() __attribute__((__warn_unused_result__, nothrow, pure));
6540// Remove all elements from Lary
6541// func:amc.FDb.gen.RemoveAll
6542void gen_RemoveAll() __attribute__((nothrow));
6543// Delete last element of array. Do nothing if array is empty.
6544// func:amc.FDb.gen.RemoveLast
6545void gen_RemoveLast() __attribute__((nothrow));
6546// 'quick' Access row by row id. No bounds checking.
6547// func:amc.FDb.gen.qFind
6548amc::FGen& gen_qFind(u64 t) __attribute__((nothrow, pure));
6549// Insert row into all appropriate indices. If error occurs, store error
6550// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6551// func:amc.FDb.gen.XrefMaybe
6552bool gen_XrefMaybe(amc::FGen &row);
6553
6554// Allocate memory for new default row.
6555// If out of memory, process is killed.
6556// func:amc.FDb.fregx.Alloc
6557amc::FFregx& fregx_Alloc() __attribute__((__warn_unused_result__, nothrow));
6558// Allocate memory for new element. If out of memory, return NULL.
6559// func:amc.FDb.fregx.AllocMaybe
6560amc::FFregx* fregx_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6561// Create new row from struct.
6562// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6563// func:amc.FDb.fregx.InsertMaybe
6564amc::FFregx* fregx_InsertMaybe(const dmmeta::Fregx &value) __attribute__((nothrow));
6565// Allocate space for one element. If no memory available, return NULL.
6566// func:amc.FDb.fregx.AllocMem
6567void* fregx_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6568// Return true if index is empty
6569// func:amc.FDb.fregx.EmptyQ
6570bool fregx_EmptyQ() __attribute__((nothrow, pure));
6571// Look up row by row id. Return NULL if out of range
6572// func:amc.FDb.fregx.Find
6573amc::FFregx* fregx_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6574// Return pointer to last element of array, or NULL if array is empty
6575// func:amc.FDb.fregx.Last
6576amc::FFregx* fregx_Last() __attribute__((nothrow, pure));
6577// Return number of items in the pool
6578// func:amc.FDb.fregx.N
6579i32 fregx_N() __attribute__((__warn_unused_result__, nothrow, pure));
6580// Delete last element of array. Do nothing if array is empty.
6581// func:amc.FDb.fregx.RemoveLast
6582void fregx_RemoveLast() __attribute__((nothrow));
6583// 'quick' Access row by row id. No bounds checking.
6584// func:amc.FDb.fregx.qFind
6585amc::FFregx& fregx_qFind(u64 t) __attribute__((nothrow, pure));
6586// Insert row into all appropriate indices. If error occurs, store error
6587// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6588// func:amc.FDb.fregx.XrefMaybe
6589bool fregx_XrefMaybe(amc::FFregx &row);
6590
6591// Allocate memory for new default row.
6592// If out of memory, process is killed.
6593// func:amc.FDb.tclass.Alloc
6594amc::FTclass& tclass_Alloc() __attribute__((__warn_unused_result__, nothrow));
6595// Allocate memory for new element. If out of memory, return NULL.
6596// func:amc.FDb.tclass.AllocMaybe
6597amc::FTclass* tclass_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6598// Create new row from struct.
6599// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6600// func:amc.FDb.tclass.InsertMaybe
6601amc::FTclass* tclass_InsertMaybe(const amcdb::Tclass &value) __attribute__((nothrow));
6602// Allocate space for one element. If no memory available, return NULL.
6603// func:amc.FDb.tclass.AllocMem
6604void* tclass_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6605// Return true if index is empty
6606// func:amc.FDb.tclass.EmptyQ
6607bool tclass_EmptyQ() __attribute__((nothrow));
6608// Look up row by row id. Return NULL if out of range
6609// func:amc.FDb.tclass.Find
6610amc::FTclass* tclass_Find(u64 t) __attribute__((__warn_unused_result__, nothrow));
6611// Return array pointer by value
6612// func:amc.FDb.tclass.Getary
6613algo::aryptr<amc::FTclass> tclass_Getary() __attribute__((nothrow));
6614// Return constant 51 -- max. number of items in the pool
6615// func:amc.FDb.tclass.Max
6616i32 tclass_Max() __attribute__((nothrow));
6617// Return number of items in the array
6618// func:amc.FDb.tclass.N
6619i32 tclass_N() __attribute__((__warn_unused_result__, nothrow, pure));
6620// Destroy all elements of Inlary
6621// func:amc.FDb.tclass.RemoveAll
6622void tclass_RemoveAll() __attribute__((nothrow));
6623// Delete last element of array. Do nothing if array is empty.
6624// func:amc.FDb.tclass.RemoveLast
6625void tclass_RemoveLast() __attribute__((nothrow));
6626// 'quick' Access row by row id. No bounds checking in release.
6627// func:amc.FDb.tclass.qFind
6628amc::FTclass& tclass_qFind(u64 t) __attribute__((nothrow));
6629// Compute row id of element given element's address
6630// func:amc.FDb.tclass.rowid_Get
6631u64 tclass_rowid_Get(amc::FTclass &row) __attribute__((nothrow));
6632// Insert row into all appropriate indices. If error occurs, store error
6633// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6634// func:amc.FDb.tclass.XrefMaybe
6635bool tclass_XrefMaybe(amc::FTclass &row);
6636
6637// Return true if hash is empty
6638// func:amc.FDb.ind_tclass.EmptyQ
6639bool ind_tclass_EmptyQ() __attribute__((nothrow));
6640// Find row by key. Return NULL if not found.
6641// func:amc.FDb.ind_tclass.Find
6642amc::FTclass* ind_tclass_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
6643// Find row by key. If not found, create and x-reference a new row with with this key.
6644// func:amc.FDb.ind_tclass.GetOrCreate
6645amc::FTclass& ind_tclass_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
6646// Return number of items in the hash
6647// func:amc.FDb.ind_tclass.N
6648i32 ind_tclass_N() __attribute__((__warn_unused_result__, nothrow, pure));
6649// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
6650// func:amc.FDb.ind_tclass.InsertMaybe
6651bool ind_tclass_InsertMaybe(amc::FTclass& row) __attribute__((nothrow));
6652// Remove reference to element from hash index. If element is not in hash, do nothing
6653// func:amc.FDb.ind_tclass.Remove
6654void ind_tclass_Remove(amc::FTclass& row) __attribute__((nothrow));
6655// Reserve enough room in the hash for N more elements. Return success code.
6656// func:amc.FDb.ind_tclass.Reserve
6657void ind_tclass_Reserve(int n) __attribute__((nothrow));
6658
6659// Allocate memory for new default row.
6660// If out of memory, process is killed.
6661// func:amc.FDb.fcmp.Alloc
6662amc::FFcmp& fcmp_Alloc() __attribute__((__warn_unused_result__, nothrow));
6663// Allocate memory for new element. If out of memory, return NULL.
6664// func:amc.FDb.fcmp.AllocMaybe
6665amc::FFcmp* fcmp_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6666// Create new row from struct.
6667// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6668// func:amc.FDb.fcmp.InsertMaybe
6669amc::FFcmp* fcmp_InsertMaybe(const dmmeta::Fcmp &value) __attribute__((nothrow));
6670// Allocate space for one element. If no memory available, return NULL.
6671// func:amc.FDb.fcmp.AllocMem
6672void* fcmp_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6673// Return true if index is empty
6674// func:amc.FDb.fcmp.EmptyQ
6675bool fcmp_EmptyQ() __attribute__((nothrow, pure));
6676// Look up row by row id. Return NULL if out of range
6677// func:amc.FDb.fcmp.Find
6678amc::FFcmp* fcmp_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6679// Return pointer to last element of array, or NULL if array is empty
6680// func:amc.FDb.fcmp.Last
6681amc::FFcmp* fcmp_Last() __attribute__((nothrow, pure));
6682// Return number of items in the pool
6683// func:amc.FDb.fcmp.N
6684i32 fcmp_N() __attribute__((__warn_unused_result__, nothrow, pure));
6685// Delete last element of array. Do nothing if array is empty.
6686// func:amc.FDb.fcmp.RemoveLast
6687void fcmp_RemoveLast() __attribute__((nothrow));
6688// 'quick' Access row by row id. No bounds checking.
6689// func:amc.FDb.fcmp.qFind
6690amc::FFcmp& fcmp_qFind(u64 t) __attribute__((nothrow, pure));
6691// Insert row into all appropriate indices. If error occurs, store error
6692// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6693// func:amc.FDb.fcmp.XrefMaybe
6694bool fcmp_XrefMaybe(amc::FFcmp &row);
6695
6696// Allocate memory for new default row.
6697// If out of memory, process is killed.
6698// func:amc.FDb.fcast.Alloc
6699amc::FFcast& fcast_Alloc() __attribute__((__warn_unused_result__, nothrow));
6700// Allocate memory for new element. If out of memory, return NULL.
6701// func:amc.FDb.fcast.AllocMaybe
6702amc::FFcast* fcast_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6703// Create new row from struct.
6704// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6705// func:amc.FDb.fcast.InsertMaybe
6706amc::FFcast* fcast_InsertMaybe(const dmmeta::Fcast &value) __attribute__((nothrow));
6707// Allocate space for one element. If no memory available, return NULL.
6708// func:amc.FDb.fcast.AllocMem
6709void* fcast_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6710// Return true if index is empty
6711// func:amc.FDb.fcast.EmptyQ
6712bool fcast_EmptyQ() __attribute__((nothrow, pure));
6713// Look up row by row id. Return NULL if out of range
6714// func:amc.FDb.fcast.Find
6715amc::FFcast* fcast_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6716// Return pointer to last element of array, or NULL if array is empty
6717// func:amc.FDb.fcast.Last
6718amc::FFcast* fcast_Last() __attribute__((nothrow, pure));
6719// Return number of items in the pool
6720// func:amc.FDb.fcast.N
6721i32 fcast_N() __attribute__((__warn_unused_result__, nothrow, pure));
6722// Delete last element of array. Do nothing if array is empty.
6723// func:amc.FDb.fcast.RemoveLast
6724void fcast_RemoveLast() __attribute__((nothrow));
6725// 'quick' Access row by row id. No bounds checking.
6726// func:amc.FDb.fcast.qFind
6727amc::FFcast& fcast_qFind(u64 t) __attribute__((nothrow, pure));
6728// Insert row into all appropriate indices. If error occurs, store error
6729// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6730// func:amc.FDb.fcast.XrefMaybe
6731bool fcast_XrefMaybe(amc::FFcast &row);
6732
6733// Allocate memory for new default row.
6734// If out of memory, process is killed.
6735// func:amc.FDb.noxref.Alloc
6736amc::FNoxref& noxref_Alloc() __attribute__((__warn_unused_result__, nothrow));
6737// Allocate memory for new element. If out of memory, return NULL.
6738// func:amc.FDb.noxref.AllocMaybe
6739amc::FNoxref* noxref_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6740// Create new row from struct.
6741// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6742// func:amc.FDb.noxref.InsertMaybe
6743amc::FNoxref* noxref_InsertMaybe(const dmmeta::Noxref &value) __attribute__((nothrow));
6744// Allocate space for one element. If no memory available, return NULL.
6745// func:amc.FDb.noxref.AllocMem
6746void* noxref_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6747// Return true if index is empty
6748// func:amc.FDb.noxref.EmptyQ
6749bool noxref_EmptyQ() __attribute__((nothrow, pure));
6750// Look up row by row id. Return NULL if out of range
6751// func:amc.FDb.noxref.Find
6752amc::FNoxref* noxref_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6753// Return pointer to last element of array, or NULL if array is empty
6754// func:amc.FDb.noxref.Last
6755amc::FNoxref* noxref_Last() __attribute__((nothrow, pure));
6756// Return number of items in the pool
6757// func:amc.FDb.noxref.N
6758i32 noxref_N() __attribute__((__warn_unused_result__, nothrow, pure));
6759// Delete last element of array. Do nothing if array is empty.
6760// func:amc.FDb.noxref.RemoveLast
6761void noxref_RemoveLast() __attribute__((nothrow));
6762// 'quick' Access row by row id. No bounds checking.
6763// func:amc.FDb.noxref.qFind
6764amc::FNoxref& noxref_qFind(u64 t) __attribute__((nothrow, pure));
6765// Insert row into all appropriate indices. If error occurs, store error
6766// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6767// func:amc.FDb.noxref.XrefMaybe
6768bool noxref_XrefMaybe(amc::FNoxref &row);
6769
6770// Allocate memory for new default row.
6771// If out of memory, process is killed.
6772// func:amc.FDb.nocascdel.Alloc
6773amc::FNocascdel& nocascdel_Alloc() __attribute__((__warn_unused_result__, nothrow));
6774// Allocate memory for new element. If out of memory, return NULL.
6775// func:amc.FDb.nocascdel.AllocMaybe
6776amc::FNocascdel* nocascdel_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6777// Create new row from struct.
6778// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6779// func:amc.FDb.nocascdel.InsertMaybe
6780amc::FNocascdel* nocascdel_InsertMaybe(const dmmeta::Nocascdel &value) __attribute__((nothrow));
6781// Allocate space for one element. If no memory available, return NULL.
6782// func:amc.FDb.nocascdel.AllocMem
6783void* nocascdel_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6784// Return true if index is empty
6785// func:amc.FDb.nocascdel.EmptyQ
6786bool nocascdel_EmptyQ() __attribute__((nothrow, pure));
6787// Look up row by row id. Return NULL if out of range
6788// func:amc.FDb.nocascdel.Find
6789amc::FNocascdel* nocascdel_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6790// Return pointer to last element of array, or NULL if array is empty
6791// func:amc.FDb.nocascdel.Last
6792amc::FNocascdel* nocascdel_Last() __attribute__((nothrow, pure));
6793// Return number of items in the pool
6794// func:amc.FDb.nocascdel.N
6795i32 nocascdel_N() __attribute__((__warn_unused_result__, nothrow, pure));
6796// Delete last element of array. Do nothing if array is empty.
6797// func:amc.FDb.nocascdel.RemoveLast
6798void nocascdel_RemoveLast() __attribute__((nothrow));
6799// 'quick' Access row by row id. No bounds checking.
6800// func:amc.FDb.nocascdel.qFind
6801amc::FNocascdel& nocascdel_qFind(u64 t) __attribute__((nothrow, pure));
6802// Insert row into all appropriate indices. If error occurs, store error
6803// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6804// func:amc.FDb.nocascdel.XrefMaybe
6805bool nocascdel_XrefMaybe(amc::FNocascdel &row);
6806
6807// Allocate memory for new default row.
6808// If out of memory, process is killed.
6809// func:amc.FDb.cafter.Alloc
6810amc::FCafter& cafter_Alloc() __attribute__((__warn_unused_result__, nothrow));
6811// Allocate memory for new element. If out of memory, return NULL.
6812// func:amc.FDb.cafter.AllocMaybe
6813amc::FCafter* cafter_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6814// Create new row from struct.
6815// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6816// func:amc.FDb.cafter.InsertMaybe
6817amc::FCafter* cafter_InsertMaybe(const dmmeta::Cafter &value) __attribute__((nothrow));
6818// Allocate space for one element. If no memory available, return NULL.
6819// func:amc.FDb.cafter.AllocMem
6820void* cafter_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6821// Return true if index is empty
6822// func:amc.FDb.cafter.EmptyQ
6823bool cafter_EmptyQ() __attribute__((nothrow, pure));
6824// Look up row by row id. Return NULL if out of range
6825// func:amc.FDb.cafter.Find
6826amc::FCafter* cafter_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6827// Return pointer to last element of array, or NULL if array is empty
6828// func:amc.FDb.cafter.Last
6829amc::FCafter* cafter_Last() __attribute__((nothrow, pure));
6830// Return number of items in the pool
6831// func:amc.FDb.cafter.N
6832i32 cafter_N() __attribute__((__warn_unused_result__, nothrow, pure));
6833// Delete last element of array. Do nothing if array is empty.
6834// func:amc.FDb.cafter.RemoveLast
6835void cafter_RemoveLast() __attribute__((nothrow));
6836// 'quick' Access row by row id. No bounds checking.
6837// func:amc.FDb.cafter.qFind
6838amc::FCafter& cafter_qFind(u64 t) __attribute__((nothrow, pure));
6839// Insert row into all appropriate indices. If error occurs, store error
6840// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6841// func:amc.FDb.cafter.XrefMaybe
6842bool cafter_XrefMaybe(amc::FCafter &row);
6843
6844// Allocate memory for new default row.
6845// If out of memory, process is killed.
6846// func:amc.FDb.csize.Alloc
6847amc::FCsize& csize_Alloc() __attribute__((__warn_unused_result__, nothrow));
6848// Allocate memory for new element. If out of memory, return NULL.
6849// func:amc.FDb.csize.AllocMaybe
6850amc::FCsize* csize_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6851// Create new row from struct.
6852// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6853// func:amc.FDb.csize.InsertMaybe
6854amc::FCsize* csize_InsertMaybe(const dmmeta::Csize &value) __attribute__((nothrow));
6855// Allocate space for one element. If no memory available, return NULL.
6856// func:amc.FDb.csize.AllocMem
6857void* csize_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6858// Return true if index is empty
6859// func:amc.FDb.csize.EmptyQ
6860bool csize_EmptyQ() __attribute__((nothrow, pure));
6861// Look up row by row id. Return NULL if out of range
6862// func:amc.FDb.csize.Find
6863amc::FCsize* csize_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6864// Return pointer to last element of array, or NULL if array is empty
6865// func:amc.FDb.csize.Last
6866amc::FCsize* csize_Last() __attribute__((nothrow, pure));
6867// Return number of items in the pool
6868// func:amc.FDb.csize.N
6869i32 csize_N() __attribute__((__warn_unused_result__, nothrow, pure));
6870// Delete last element of array. Do nothing if array is empty.
6871// func:amc.FDb.csize.RemoveLast
6872void csize_RemoveLast() __attribute__((nothrow));
6873// 'quick' Access row by row id. No bounds checking.
6874// func:amc.FDb.csize.qFind
6875amc::FCsize& csize_qFind(u64 t) __attribute__((nothrow, pure));
6876// Insert row into all appropriate indices. If error occurs, store error
6877// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6878// func:amc.FDb.csize.XrefMaybe
6879bool csize_XrefMaybe(amc::FCsize &row);
6880
6881// Allocate memory for new default row.
6882// If out of memory, process is killed.
6883// func:amc.FDb.nsx.Alloc
6884amc::FNsx& nsx_Alloc() __attribute__((__warn_unused_result__, nothrow));
6885// Allocate memory for new element. If out of memory, return NULL.
6886// func:amc.FDb.nsx.AllocMaybe
6887amc::FNsx* nsx_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6888// Create new row from struct.
6889// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6890// func:amc.FDb.nsx.InsertMaybe
6891amc::FNsx* nsx_InsertMaybe(const dmmeta::Nsx &value) __attribute__((nothrow));
6892// Allocate space for one element. If no memory available, return NULL.
6893// func:amc.FDb.nsx.AllocMem
6894void* nsx_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6895// Return true if index is empty
6896// func:amc.FDb.nsx.EmptyQ
6897bool nsx_EmptyQ() __attribute__((nothrow, pure));
6898// Look up row by row id. Return NULL if out of range
6899// func:amc.FDb.nsx.Find
6900amc::FNsx* nsx_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6901// Return pointer to last element of array, or NULL if array is empty
6902// func:amc.FDb.nsx.Last
6903amc::FNsx* nsx_Last() __attribute__((nothrow, pure));
6904// Return number of items in the pool
6905// func:amc.FDb.nsx.N
6906i32 nsx_N() __attribute__((__warn_unused_result__, nothrow, pure));
6907// Delete last element of array. Do nothing if array is empty.
6908// func:amc.FDb.nsx.RemoveLast
6909void nsx_RemoveLast() __attribute__((nothrow));
6910// 'quick' Access row by row id. No bounds checking.
6911// func:amc.FDb.nsx.qFind
6912amc::FNsx& nsx_qFind(u64 t) __attribute__((nothrow, pure));
6913// Insert row into all appropriate indices. If error occurs, store error
6914// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6915// func:amc.FDb.nsx.XrefMaybe
6916bool nsx_XrefMaybe(amc::FNsx &row);
6917
6918// Allocate memory for new default row.
6919// If out of memory, process is killed.
6920// func:amc.FDb.fcompact.Alloc
6921amc::FFcompact& fcompact_Alloc() __attribute__((__warn_unused_result__, nothrow));
6922// Allocate memory for new element. If out of memory, return NULL.
6923// func:amc.FDb.fcompact.AllocMaybe
6924amc::FFcompact* fcompact_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6925// Create new row from struct.
6926// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6927// func:amc.FDb.fcompact.InsertMaybe
6928amc::FFcompact* fcompact_InsertMaybe(const dmmeta::Fcompact &value) __attribute__((nothrow));
6929// Allocate space for one element. If no memory available, return NULL.
6930// func:amc.FDb.fcompact.AllocMem
6931void* fcompact_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6932// Return true if index is empty
6933// func:amc.FDb.fcompact.EmptyQ
6934bool fcompact_EmptyQ() __attribute__((nothrow, pure));
6935// Look up row by row id. Return NULL if out of range
6936// func:amc.FDb.fcompact.Find
6937amc::FFcompact* fcompact_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6938// Return pointer to last element of array, or NULL if array is empty
6939// func:amc.FDb.fcompact.Last
6940amc::FFcompact* fcompact_Last() __attribute__((nothrow, pure));
6941// Return number of items in the pool
6942// func:amc.FDb.fcompact.N
6943i32 fcompact_N() __attribute__((__warn_unused_result__, nothrow, pure));
6944// Delete last element of array. Do nothing if array is empty.
6945// func:amc.FDb.fcompact.RemoveLast
6946void fcompact_RemoveLast() __attribute__((nothrow));
6947// 'quick' Access row by row id. No bounds checking.
6948// func:amc.FDb.fcompact.qFind
6949amc::FFcompact& fcompact_qFind(u64 t) __attribute__((nothrow, pure));
6950// Insert row into all appropriate indices. If error occurs, store error
6951// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6952// func:amc.FDb.fcompact.XrefMaybe
6953bool fcompact_XrefMaybe(amc::FFcompact &row);
6954
6955// Allocate memory for new default row.
6956// If out of memory, process is killed.
6957// func:amc.FDb.findrem.Alloc
6958amc::FFindrem& findrem_Alloc() __attribute__((__warn_unused_result__, nothrow));
6959// Allocate memory for new element. If out of memory, return NULL.
6960// func:amc.FDb.findrem.AllocMaybe
6961amc::FFindrem* findrem_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6962// Create new row from struct.
6963// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
6964// func:amc.FDb.findrem.InsertMaybe
6965amc::FFindrem* findrem_InsertMaybe(const dmmeta::Findrem &value) __attribute__((nothrow));
6966// Allocate space for one element. If no memory available, return NULL.
6967// func:amc.FDb.findrem.AllocMem
6968void* findrem_AllocMem() __attribute__((__warn_unused_result__, nothrow));
6969// Return true if index is empty
6970// func:amc.FDb.findrem.EmptyQ
6971bool findrem_EmptyQ() __attribute__((nothrow, pure));
6972// Look up row by row id. Return NULL if out of range
6973// func:amc.FDb.findrem.Find
6974amc::FFindrem* findrem_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
6975// Return pointer to last element of array, or NULL if array is empty
6976// func:amc.FDb.findrem.Last
6977amc::FFindrem* findrem_Last() __attribute__((nothrow, pure));
6978// Return number of items in the pool
6979// func:amc.FDb.findrem.N
6980i32 findrem_N() __attribute__((__warn_unused_result__, nothrow, pure));
6981// Delete last element of array. Do nothing if array is empty.
6982// func:amc.FDb.findrem.RemoveLast
6983void findrem_RemoveLast() __attribute__((nothrow));
6984// 'quick' Access row by row id. No bounds checking.
6985// func:amc.FDb.findrem.qFind
6986amc::FFindrem& findrem_qFind(u64 t) __attribute__((nothrow, pure));
6987// Insert row into all appropriate indices. If error occurs, store error
6988// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
6989// func:amc.FDb.findrem.XrefMaybe
6990bool findrem_XrefMaybe(amc::FFindrem &row);
6991
6992// Allocate memory for new default row.
6993// If out of memory, process is killed.
6994// func:amc.FDb.fcurs.Alloc
6995amc::FFcurs& fcurs_Alloc() __attribute__((__warn_unused_result__, nothrow));
6996// Allocate memory for new element. If out of memory, return NULL.
6997// func:amc.FDb.fcurs.AllocMaybe
6998amc::FFcurs* fcurs_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
6999// Create new row from struct.
7000// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7001// func:amc.FDb.fcurs.InsertMaybe
7002amc::FFcurs* fcurs_InsertMaybe(const dmmeta::Fcurs &value) __attribute__((nothrow));
7003// Allocate space for one element. If no memory available, return NULL.
7004// func:amc.FDb.fcurs.AllocMem
7005void* fcurs_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7006// Return true if index is empty
7007// func:amc.FDb.fcurs.EmptyQ
7008bool fcurs_EmptyQ() __attribute__((nothrow, pure));
7009// Look up row by row id. Return NULL if out of range
7010// func:amc.FDb.fcurs.Find
7011amc::FFcurs* fcurs_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7012// Return pointer to last element of array, or NULL if array is empty
7013// func:amc.FDb.fcurs.Last
7014amc::FFcurs* fcurs_Last() __attribute__((nothrow, pure));
7015// Return number of items in the pool
7016// func:amc.FDb.fcurs.N
7017i32 fcurs_N() __attribute__((__warn_unused_result__, nothrow, pure));
7018// Delete last element of array. Do nothing if array is empty.
7019// func:amc.FDb.fcurs.RemoveLast
7020void fcurs_RemoveLast() __attribute__((nothrow));
7021// 'quick' Access row by row id. No bounds checking.
7022// func:amc.FDb.fcurs.qFind
7023amc::FFcurs& fcurs_qFind(u64 t) __attribute__((nothrow, pure));
7024// Insert row into all appropriate indices. If error occurs, store error
7025// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7026// func:amc.FDb.fcurs.XrefMaybe
7027bool fcurs_XrefMaybe(amc::FFcurs &row);
7028
7029// Allocate memory for new default row.
7030// If out of memory, process is killed.
7031// func:amc.FDb.cdflt.Alloc
7032amc::FCdflt& cdflt_Alloc() __attribute__((__warn_unused_result__, nothrow));
7033// Allocate memory for new element. If out of memory, return NULL.
7034// func:amc.FDb.cdflt.AllocMaybe
7035amc::FCdflt* cdflt_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7036// Create new row from struct.
7037// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7038// func:amc.FDb.cdflt.InsertMaybe
7039amc::FCdflt* cdflt_InsertMaybe(const dmmeta::Cdflt &value) __attribute__((nothrow));
7040// Allocate space for one element. If no memory available, return NULL.
7041// func:amc.FDb.cdflt.AllocMem
7042void* cdflt_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7043// Return true if index is empty
7044// func:amc.FDb.cdflt.EmptyQ
7045bool cdflt_EmptyQ() __attribute__((nothrow, pure));
7046// Look up row by row id. Return NULL if out of range
7047// func:amc.FDb.cdflt.Find
7048amc::FCdflt* cdflt_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7049// Return pointer to last element of array, or NULL if array is empty
7050// func:amc.FDb.cdflt.Last
7051amc::FCdflt* cdflt_Last() __attribute__((nothrow, pure));
7052// Return number of items in the pool
7053// func:amc.FDb.cdflt.N
7054i32 cdflt_N() __attribute__((__warn_unused_result__, nothrow, pure));
7055// Delete last element of array. Do nothing if array is empty.
7056// func:amc.FDb.cdflt.RemoveLast
7057void cdflt_RemoveLast() __attribute__((nothrow));
7058// 'quick' Access row by row id. No bounds checking.
7059// func:amc.FDb.cdflt.qFind
7060amc::FCdflt& cdflt_qFind(u64 t) __attribute__((nothrow, pure));
7061// Insert row into all appropriate indices. If error occurs, store error
7062// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7063// func:amc.FDb.cdflt.XrefMaybe
7064bool cdflt_XrefMaybe(amc::FCdflt &row);
7065
7066// Allocate memory for new default row.
7067// If out of memory, process is killed.
7068// func:amc.FDb.argvtype.Alloc
7069amc::FArgvtype& argvtype_Alloc() __attribute__((__warn_unused_result__, nothrow));
7070// Allocate memory for new element. If out of memory, return NULL.
7071// func:amc.FDb.argvtype.AllocMaybe
7072amc::FArgvtype* argvtype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7073// Create new row from struct.
7074// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7075// func:amc.FDb.argvtype.InsertMaybe
7076amc::FArgvtype* argvtype_InsertMaybe(const dmmeta::Argvtype &value) __attribute__((nothrow));
7077// Allocate space for one element. If no memory available, return NULL.
7078// func:amc.FDb.argvtype.AllocMem
7079void* argvtype_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7080// Return true if index is empty
7081// func:amc.FDb.argvtype.EmptyQ
7082bool argvtype_EmptyQ() __attribute__((nothrow, pure));
7083// Look up row by row id. Return NULL if out of range
7084// func:amc.FDb.argvtype.Find
7085amc::FArgvtype* argvtype_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7086// Return pointer to last element of array, or NULL if array is empty
7087// func:amc.FDb.argvtype.Last
7088amc::FArgvtype* argvtype_Last() __attribute__((nothrow, pure));
7089// Return number of items in the pool
7090// func:amc.FDb.argvtype.N
7091i32 argvtype_N() __attribute__((__warn_unused_result__, nothrow, pure));
7092// Delete last element of array. Do nothing if array is empty.
7093// func:amc.FDb.argvtype.RemoveLast
7094void argvtype_RemoveLast() __attribute__((nothrow));
7095// 'quick' Access row by row id. No bounds checking.
7096// func:amc.FDb.argvtype.qFind
7097amc::FArgvtype& argvtype_qFind(u64 t) __attribute__((nothrow, pure));
7098// Insert row into all appropriate indices. If error occurs, store error
7099// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7100// func:amc.FDb.argvtype.XrefMaybe
7101bool argvtype_XrefMaybe(amc::FArgvtype &row);
7102
7103// Allocate memory for new default row.
7104// If out of memory, process is killed.
7105// func:amc.FDb.fcmdline.Alloc
7106amc::FFcmdline& fcmdline_Alloc() __attribute__((__warn_unused_result__, nothrow));
7107// Allocate memory for new element. If out of memory, return NULL.
7108// func:amc.FDb.fcmdline.AllocMaybe
7109amc::FFcmdline* fcmdline_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7110// Create new row from struct.
7111// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7112// func:amc.FDb.fcmdline.InsertMaybe
7113amc::FFcmdline* fcmdline_InsertMaybe(const dmmeta::Fcmdline &value) __attribute__((nothrow));
7114// Allocate space for one element. If no memory available, return NULL.
7115// func:amc.FDb.fcmdline.AllocMem
7116void* fcmdline_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7117// Return true if index is empty
7118// func:amc.FDb.fcmdline.EmptyQ
7119bool fcmdline_EmptyQ() __attribute__((nothrow, pure));
7120// Look up row by row id. Return NULL if out of range
7121// func:amc.FDb.fcmdline.Find
7122amc::FFcmdline* fcmdline_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7123// Return pointer to last element of array, or NULL if array is empty
7124// func:amc.FDb.fcmdline.Last
7125amc::FFcmdline* fcmdline_Last() __attribute__((nothrow, pure));
7126// Return number of items in the pool
7127// func:amc.FDb.fcmdline.N
7128i32 fcmdline_N() __attribute__((__warn_unused_result__, nothrow, pure));
7129// Delete last element of array. Do nothing if array is empty.
7130// func:amc.FDb.fcmdline.RemoveLast
7131void fcmdline_RemoveLast() __attribute__((nothrow));
7132// 'quick' Access row by row id. No bounds checking.
7133// func:amc.FDb.fcmdline.qFind
7134amc::FFcmdline& fcmdline_qFind(u64 t) __attribute__((nothrow, pure));
7135// Insert row into all appropriate indices. If error occurs, store error
7136// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7137// func:amc.FDb.fcmdline.XrefMaybe
7138bool fcmdline_XrefMaybe(amc::FFcmdline &row);
7139
7140// Return true if hash is empty
7141// func:amc.FDb.ind_main.EmptyQ
7142bool ind_main_EmptyQ() __attribute__((nothrow));
7143// Find row by key. Return NULL if not found.
7144// func:amc.FDb.ind_main.Find
7145amc::FMain* ind_main_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
7146// Find row by key. If not found, create and x-reference a new row with with this key.
7147// func:amc.FDb.ind_main.GetOrCreate
7148amc::FMain& ind_main_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
7149// Return number of items in the hash
7150// func:amc.FDb.ind_main.N
7151i32 ind_main_N() __attribute__((__warn_unused_result__, nothrow, pure));
7152// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
7153// func:amc.FDb.ind_main.InsertMaybe
7154bool ind_main_InsertMaybe(amc::FMain& row) __attribute__((nothrow));
7155// Remove reference to element from hash index. If element is not in hash, do nothing
7156// func:amc.FDb.ind_main.Remove
7157void ind_main_Remove(amc::FMain& row) __attribute__((nothrow));
7158// Reserve enough room in the hash for N more elements. Return success code.
7159// func:amc.FDb.ind_main.Reserve
7160void ind_main_Reserve(int n) __attribute__((nothrow));
7161
7162// Allocate memory for new default row.
7163// If out of memory, process is killed.
7164// func:amc.FDb.floadtuples.Alloc
7165amc::FFloadtuples& floadtuples_Alloc() __attribute__((__warn_unused_result__, nothrow));
7166// Allocate memory for new element. If out of memory, return NULL.
7167// func:amc.FDb.floadtuples.AllocMaybe
7168amc::FFloadtuples* floadtuples_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7169// Create new row from struct.
7170// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7171// func:amc.FDb.floadtuples.InsertMaybe
7172amc::FFloadtuples* floadtuples_InsertMaybe(const dmmeta::Floadtuples &value) __attribute__((nothrow));
7173// Allocate space for one element. If no memory available, return NULL.
7174// func:amc.FDb.floadtuples.AllocMem
7175void* floadtuples_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7176// Return true if index is empty
7177// func:amc.FDb.floadtuples.EmptyQ
7178bool floadtuples_EmptyQ() __attribute__((nothrow, pure));
7179// Look up row by row id. Return NULL if out of range
7180// func:amc.FDb.floadtuples.Find
7181amc::FFloadtuples* floadtuples_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7182// Return pointer to last element of array, or NULL if array is empty
7183// func:amc.FDb.floadtuples.Last
7184amc::FFloadtuples* floadtuples_Last() __attribute__((nothrow, pure));
7185// Return number of items in the pool
7186// func:amc.FDb.floadtuples.N
7187i32 floadtuples_N() __attribute__((__warn_unused_result__, nothrow, pure));
7188// Delete last element of array. Do nothing if array is empty.
7189// func:amc.FDb.floadtuples.RemoveLast
7190void floadtuples_RemoveLast() __attribute__((nothrow));
7191// 'quick' Access row by row id. No bounds checking.
7192// func:amc.FDb.floadtuples.qFind
7193amc::FFloadtuples& floadtuples_qFind(u64 t) __attribute__((nothrow, pure));
7194// Insert row into all appropriate indices. If error occurs, store error
7195// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7196// func:amc.FDb.floadtuples.XrefMaybe
7197bool floadtuples_XrefMaybe(amc::FFloadtuples &row);
7198
7199// Allocate memory for new default row.
7200// If out of memory, process is killed.
7201// func:amc.FDb.fcmap.Alloc
7202amc::FFcmap& fcmap_Alloc() __attribute__((__warn_unused_result__, nothrow));
7203// Allocate memory for new element. If out of memory, return NULL.
7204// func:amc.FDb.fcmap.AllocMaybe
7205amc::FFcmap* fcmap_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7206// Create new row from struct.
7207// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7208// func:amc.FDb.fcmap.InsertMaybe
7209amc::FFcmap* fcmap_InsertMaybe(const dmmeta::Fcmap &value) __attribute__((nothrow));
7210// Allocate space for one element. If no memory available, return NULL.
7211// func:amc.FDb.fcmap.AllocMem
7212void* fcmap_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7213// Return true if index is empty
7214// func:amc.FDb.fcmap.EmptyQ
7215bool fcmap_EmptyQ() __attribute__((nothrow, pure));
7216// Look up row by row id. Return NULL if out of range
7217// func:amc.FDb.fcmap.Find
7218amc::FFcmap* fcmap_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7219// Return pointer to last element of array, or NULL if array is empty
7220// func:amc.FDb.fcmap.Last
7221amc::FFcmap* fcmap_Last() __attribute__((nothrow, pure));
7222// Return number of items in the pool
7223// func:amc.FDb.fcmap.N
7224i32 fcmap_N() __attribute__((__warn_unused_result__, nothrow, pure));
7225// Delete last element of array. Do nothing if array is empty.
7226// func:amc.FDb.fcmap.RemoveLast
7227void fcmap_RemoveLast() __attribute__((nothrow));
7228// 'quick' Access row by row id. No bounds checking.
7229// func:amc.FDb.fcmap.qFind
7230amc::FFcmap& fcmap_qFind(u64 t) __attribute__((nothrow, pure));
7231// Insert row into all appropriate indices. If error occurs, store error
7232// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7233// func:amc.FDb.fcmap.XrefMaybe
7234bool fcmap_XrefMaybe(amc::FFcmap &row);
7235
7236// Return true if index is empty
7237// func:amc.FDb.zs_ordkeyfield.EmptyQ
7238bool zs_ordkeyfield_EmptyQ() __attribute__((__warn_unused_result__, nothrow, pure));
7239// If index empty, return NULL. Otherwise return pointer to first element in index
7240// func:amc.FDb.zs_ordkeyfield.First
7241amc::FField* zs_ordkeyfield_First() __attribute__((__warn_unused_result__, nothrow, pure));
7242// Return true if row is in the linked list, false otherwise
7243// func:amc.FDb.zs_ordkeyfield.InLlistQ
7244bool zs_ordkeyfield_InLlistQ(amc::FField& row) __attribute__((__warn_unused_result__, nothrow));
7245// Insert row into linked list. If row is already in linked list, do nothing.
7246// func:amc.FDb.zs_ordkeyfield.Insert
7247void zs_ordkeyfield_Insert(amc::FField& row) __attribute__((nothrow));
7248// If index empty, return NULL. Otherwise return pointer to last element in index
7249// func:amc.FDb.zs_ordkeyfield.Last
7250amc::FField* zs_ordkeyfield_Last() __attribute__((__warn_unused_result__, nothrow, pure));
7251// Return pointer to next element in the list
7252// func:amc.FDb.zs_ordkeyfield.Next
7253amc::FField* zs_ordkeyfield_Next(amc::FField &row) __attribute__((__warn_unused_result__, nothrow));
7254// Remove element from index. If element is not in index, do nothing.
7255// Since the list is singly-linked, use linear search to locate the element.
7256// func:amc.FDb.zs_ordkeyfield.Remove
7257void zs_ordkeyfield_Remove(amc::FField& row) __attribute__((nothrow));
7258// Empty the index. (The rows are not deleted)
7259// func:amc.FDb.zs_ordkeyfield.RemoveAll
7260void zs_ordkeyfield_RemoveAll() __attribute__((nothrow));
7261// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
7262// func:amc.FDb.zs_ordkeyfield.RemoveFirst
7263amc::FField* zs_ordkeyfield_RemoveFirst() __attribute__((nothrow));
7264// Return reference to last element in the index. No bounds checking.
7265// func:amc.FDb.zs_ordkeyfield.qLast
7266amc::FField& zs_ordkeyfield_qLast() __attribute__((__warn_unused_result__, nothrow));
7267
7268// Allocate memory for new default row.
7269// If out of memory, process is killed.
7270// func:amc.FDb.nsproto.Alloc
7271amc::FNsproto& nsproto_Alloc() __attribute__((__warn_unused_result__, nothrow));
7272// Allocate memory for new element. If out of memory, return NULL.
7273// func:amc.FDb.nsproto.AllocMaybe
7274amc::FNsproto* nsproto_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7275// Create new row from struct.
7276// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7277// func:amc.FDb.nsproto.InsertMaybe
7278amc::FNsproto* nsproto_InsertMaybe(const dmmeta::Nsproto &value) __attribute__((nothrow));
7279// Allocate space for one element. If no memory available, return NULL.
7280// func:amc.FDb.nsproto.AllocMem
7281void* nsproto_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7282// Return true if index is empty
7283// func:amc.FDb.nsproto.EmptyQ
7284bool nsproto_EmptyQ() __attribute__((nothrow, pure));
7285// Look up row by row id. Return NULL if out of range
7286// func:amc.FDb.nsproto.Find
7287amc::FNsproto* nsproto_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7288// Return pointer to last element of array, or NULL if array is empty
7289// func:amc.FDb.nsproto.Last
7290amc::FNsproto* nsproto_Last() __attribute__((nothrow, pure));
7291// Return number of items in the pool
7292// func:amc.FDb.nsproto.N
7293i32 nsproto_N() __attribute__((__warn_unused_result__, nothrow, pure));
7294// Delete last element of array. Do nothing if array is empty.
7295// func:amc.FDb.nsproto.RemoveLast
7296void nsproto_RemoveLast() __attribute__((nothrow));
7297// 'quick' Access row by row id. No bounds checking.
7298// func:amc.FDb.nsproto.qFind
7299amc::FNsproto& nsproto_qFind(u64 t) __attribute__((nothrow, pure));
7300// Insert row into all appropriate indices. If error occurs, store error
7301// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7302// func:amc.FDb.nsproto.XrefMaybe
7303bool nsproto_XrefMaybe(amc::FNsproto &row);
7304
7305// Allocate memory for new default row.
7306// If out of memory, process is killed.
7307// func:amc.FDb.nsdb.Alloc
7308amc::FNsdb& nsdb_Alloc() __attribute__((__warn_unused_result__, nothrow));
7309// Allocate memory for new element. If out of memory, return NULL.
7310// func:amc.FDb.nsdb.AllocMaybe
7311amc::FNsdb* nsdb_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7312// Create new row from struct.
7313// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7314// func:amc.FDb.nsdb.InsertMaybe
7315amc::FNsdb* nsdb_InsertMaybe(const dmmeta::Nsdb &value) __attribute__((nothrow));
7316// Allocate space for one element. If no memory available, return NULL.
7317// func:amc.FDb.nsdb.AllocMem
7318void* nsdb_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7319// Return true if index is empty
7320// func:amc.FDb.nsdb.EmptyQ
7321bool nsdb_EmptyQ() __attribute__((nothrow, pure));
7322// Look up row by row id. Return NULL if out of range
7323// func:amc.FDb.nsdb.Find
7324amc::FNsdb* nsdb_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7325// Return pointer to last element of array, or NULL if array is empty
7326// func:amc.FDb.nsdb.Last
7327amc::FNsdb* nsdb_Last() __attribute__((nothrow, pure));
7328// Return number of items in the pool
7329// func:amc.FDb.nsdb.N
7330i32 nsdb_N() __attribute__((__warn_unused_result__, nothrow, pure));
7331// Delete last element of array. Do nothing if array is empty.
7332// func:amc.FDb.nsdb.RemoveLast
7333void nsdb_RemoveLast() __attribute__((nothrow));
7334// 'quick' Access row by row id. No bounds checking.
7335// func:amc.FDb.nsdb.qFind
7336amc::FNsdb& nsdb_qFind(u64 t) __attribute__((nothrow, pure));
7337// Insert row into all appropriate indices. If error occurs, store error
7338// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7339// func:amc.FDb.nsdb.XrefMaybe
7340bool nsdb_XrefMaybe(amc::FNsdb &row);
7341
7342// Return true if index is empty
7343// func:amc.FDb.zd_substr_params.EmptyQ
7344bool zd_substr_params_EmptyQ() __attribute__((__warn_unused_result__, nothrow, pure));
7345// If index empty, return NULL. Otherwise return pointer to first element in index
7346// func:amc.FDb.zd_substr_params.First
7347amc::FSubstr* zd_substr_params_First() __attribute__((__warn_unused_result__, nothrow, pure));
7348// Return true if row is in the linked list, false otherwise
7349// func:amc.FDb.zd_substr_params.InLlistQ
7350bool zd_substr_params_InLlistQ(amc::FSubstr& row) __attribute__((__warn_unused_result__, nothrow));
7351// Insert row into linked list. If row is already in linked list, do nothing.
7352// func:amc.FDb.zd_substr_params.Insert
7353void zd_substr_params_Insert(amc::FSubstr& row) __attribute__((nothrow));
7354// If index empty, return NULL. Otherwise return pointer to last element in index
7355// func:amc.FDb.zd_substr_params.Last
7356amc::FSubstr* zd_substr_params_Last() __attribute__((__warn_unused_result__, nothrow, pure));
7357// Return number of items in the linked list
7358// func:amc.FDb.zd_substr_params.N
7359i32 zd_substr_params_N() __attribute__((__warn_unused_result__, nothrow, pure));
7360// Return pointer to next element in the list
7361// func:amc.FDb.zd_substr_params.Next
7362amc::FSubstr* zd_substr_params_Next(amc::FSubstr &row) __attribute__((__warn_unused_result__, nothrow));
7363// Return pointer to previous element in the list
7364// func:amc.FDb.zd_substr_params.Prev
7365amc::FSubstr* zd_substr_params_Prev(amc::FSubstr &row) __attribute__((__warn_unused_result__, nothrow));
7366// Remove element from index. If element is not in index, do nothing.
7367// func:amc.FDb.zd_substr_params.Remove
7368void zd_substr_params_Remove(amc::FSubstr& row) __attribute__((nothrow));
7369// Empty the index. (The rows are not deleted)
7370// func:amc.FDb.zd_substr_params.RemoveAll
7371void zd_substr_params_RemoveAll() __attribute__((nothrow));
7372// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
7373// func:amc.FDb.zd_substr_params.RemoveFirst
7374amc::FSubstr* zd_substr_params_RemoveFirst() __attribute__((nothrow));
7375// Return reference to last element in the index. No bounds checking.
7376// func:amc.FDb.zd_substr_params.qLast
7377amc::FSubstr& zd_substr_params_qLast() __attribute__((__warn_unused_result__, nothrow));
7378
7379// Return true if hash is empty
7380// func:amc.FDb.ind_fconst_int.EmptyQ
7381bool ind_fconst_int_EmptyQ() __attribute__((nothrow));
7382// Find row by key. Return NULL if not found.
7383// func:amc.FDb.ind_fconst_int.Find
7384amc::FFconst* ind_fconst_int_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
7385// Return number of items in the hash
7386// func:amc.FDb.ind_fconst_int.N
7387i32 ind_fconst_int_N() __attribute__((__warn_unused_result__, nothrow, pure));
7388// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
7389// func:amc.FDb.ind_fconst_int.InsertMaybe
7390bool ind_fconst_int_InsertMaybe(amc::FFconst& row) __attribute__((nothrow));
7391// Remove reference to element from hash index. If element is not in hash, do nothing
7392// func:amc.FDb.ind_fconst_int.Remove
7393void ind_fconst_int_Remove(amc::FFconst& row) __attribute__((nothrow));
7394// Reserve enough room in the hash for N more elements. Return success code.
7395// func:amc.FDb.ind_fconst_int.Reserve
7396void ind_fconst_int_Reserve(int n) __attribute__((nothrow));
7397
7398// Allocate memory for new default row.
7399// If out of memory, process is killed.
7400// func:amc.FDb.fprefix.Alloc
7401amc::FFprefix& fprefix_Alloc() __attribute__((__warn_unused_result__, nothrow));
7402// Allocate memory for new element. If out of memory, return NULL.
7403// func:amc.FDb.fprefix.AllocMaybe
7404amc::FFprefix* fprefix_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7405// Create new row from struct.
7406// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7407// func:amc.FDb.fprefix.InsertMaybe
7408amc::FFprefix* fprefix_InsertMaybe(const dmmeta::Fprefix &value) __attribute__((nothrow));
7409// Allocate space for one element. If no memory available, return NULL.
7410// func:amc.FDb.fprefix.AllocMem
7411void* fprefix_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7412// Return true if index is empty
7413// func:amc.FDb.fprefix.EmptyQ
7414bool fprefix_EmptyQ() __attribute__((nothrow, pure));
7415// Look up row by row id. Return NULL if out of range
7416// func:amc.FDb.fprefix.Find
7417amc::FFprefix* fprefix_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7418// Return pointer to last element of array, or NULL if array is empty
7419// func:amc.FDb.fprefix.Last
7420amc::FFprefix* fprefix_Last() __attribute__((nothrow, pure));
7421// Return number of items in the pool
7422// func:amc.FDb.fprefix.N
7423i32 fprefix_N() __attribute__((__warn_unused_result__, nothrow, pure));
7424// Delete last element of array. Do nothing if array is empty.
7425// func:amc.FDb.fprefix.RemoveLast
7426void fprefix_RemoveLast() __attribute__((nothrow));
7427// 'quick' Access row by row id. No bounds checking.
7428// func:amc.FDb.fprefix.qFind
7429amc::FFprefix& fprefix_qFind(u64 t) __attribute__((nothrow, pure));
7430// Insert row into all appropriate indices. If error occurs, store error
7431// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7432// func:amc.FDb.fprefix.XrefMaybe
7433bool fprefix_XrefMaybe(amc::FFprefix &row);
7434
7435// Return true if hash is empty
7436// func:amc.FDb.ind_prefix.EmptyQ
7437bool ind_prefix_EmptyQ() __attribute__((nothrow));
7438// Find row by key. Return NULL if not found.
7439// func:amc.FDb.ind_prefix.Find
7440amc::FFprefix* ind_prefix_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
7441// Find row by key. If not found, create and x-reference a new row with with this key.
7442// func:amc.FDb.ind_prefix.GetOrCreate
7443amc::FFprefix& ind_prefix_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
7444// Return number of items in the hash
7445// func:amc.FDb.ind_prefix.N
7446i32 ind_prefix_N() __attribute__((__warn_unused_result__, nothrow, pure));
7447// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
7448// func:amc.FDb.ind_prefix.InsertMaybe
7449bool ind_prefix_InsertMaybe(amc::FFprefix& row) __attribute__((nothrow));
7450// Remove reference to element from hash index. If element is not in hash, do nothing
7451// func:amc.FDb.ind_prefix.Remove
7452void ind_prefix_Remove(amc::FFprefix& row) __attribute__((nothrow));
7453// Reserve enough room in the hash for N more elements. Return success code.
7454// func:amc.FDb.ind_prefix.Reserve
7455void ind_prefix_Reserve(int n) __attribute__((nothrow));
7456
7457// Allocate memory for new default row.
7458// If out of memory, process is killed.
7459// func:amc.FDb.ftrace.Alloc
7460amc::FFtrace& ftrace_Alloc() __attribute__((__warn_unused_result__, nothrow));
7461// Allocate memory for new element. If out of memory, return NULL.
7462// func:amc.FDb.ftrace.AllocMaybe
7463amc::FFtrace* ftrace_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7464// Create new row from struct.
7465// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7466// func:amc.FDb.ftrace.InsertMaybe
7467amc::FFtrace* ftrace_InsertMaybe(const dmmeta::Ftrace &value) __attribute__((nothrow));
7468// Allocate space for one element. If no memory available, return NULL.
7469// func:amc.FDb.ftrace.AllocMem
7470void* ftrace_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7471// Return true if index is empty
7472// func:amc.FDb.ftrace.EmptyQ
7473bool ftrace_EmptyQ() __attribute__((nothrow, pure));
7474// Look up row by row id. Return NULL if out of range
7475// func:amc.FDb.ftrace.Find
7476amc::FFtrace* ftrace_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7477// Return pointer to last element of array, or NULL if array is empty
7478// func:amc.FDb.ftrace.Last
7479amc::FFtrace* ftrace_Last() __attribute__((nothrow, pure));
7480// Return number of items in the pool
7481// func:amc.FDb.ftrace.N
7482i32 ftrace_N() __attribute__((__warn_unused_result__, nothrow, pure));
7483// Delete last element of array. Do nothing if array is empty.
7484// func:amc.FDb.ftrace.RemoveLast
7485void ftrace_RemoveLast() __attribute__((nothrow));
7486// 'quick' Access row by row id. No bounds checking.
7487// func:amc.FDb.ftrace.qFind
7488amc::FFtrace& ftrace_qFind(u64 t) __attribute__((nothrow, pure));
7489// Insert row into all appropriate indices. If error occurs, store error
7490// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7491// func:amc.FDb.ftrace.XrefMaybe
7492bool ftrace_XrefMaybe(amc::FFtrace &row);
7493
7494// Allocate memory for new default row.
7495// If out of memory, process is killed.
7496// func:amc.FDb.fnoremove.Alloc
7497amc::FFnoremove& fnoremove_Alloc() __attribute__((__warn_unused_result__, nothrow));
7498// Allocate memory for new element. If out of memory, return NULL.
7499// func:amc.FDb.fnoremove.AllocMaybe
7500amc::FFnoremove* fnoremove_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7501// Create new row from struct.
7502// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7503// func:amc.FDb.fnoremove.InsertMaybe
7504amc::FFnoremove* fnoremove_InsertMaybe(const dmmeta::Fnoremove &value) __attribute__((nothrow));
7505// Allocate space for one element. If no memory available, return NULL.
7506// func:amc.FDb.fnoremove.AllocMem
7507void* fnoremove_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7508// Return true if index is empty
7509// func:amc.FDb.fnoremove.EmptyQ
7510bool fnoremove_EmptyQ() __attribute__((nothrow, pure));
7511// Look up row by row id. Return NULL if out of range
7512// func:amc.FDb.fnoremove.Find
7513amc::FFnoremove* fnoremove_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7514// Return pointer to last element of array, or NULL if array is empty
7515// func:amc.FDb.fnoremove.Last
7516amc::FFnoremove* fnoremove_Last() __attribute__((nothrow, pure));
7517// Return number of items in the pool
7518// func:amc.FDb.fnoremove.N
7519i32 fnoremove_N() __attribute__((__warn_unused_result__, nothrow, pure));
7520// Delete last element of array. Do nothing if array is empty.
7521// func:amc.FDb.fnoremove.RemoveLast
7522void fnoremove_RemoveLast() __attribute__((nothrow));
7523// 'quick' Access row by row id. No bounds checking.
7524// func:amc.FDb.fnoremove.qFind
7525amc::FFnoremove& fnoremove_qFind(u64 t) __attribute__((nothrow, pure));
7526// Insert row into all appropriate indices. If error occurs, store error
7527// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7528// func:amc.FDb.fnoremove.XrefMaybe
7529bool fnoremove_XrefMaybe(amc::FFnoremove &row);
7530
7531// Return true if index is empty
7532// func:amc.FDb.c_substr_field.EmptyQ
7533bool c_substr_field_EmptyQ() __attribute__((nothrow));
7534// Look up row by row id. Return NULL if out of range
7535// func:amc.FDb.c_substr_field.Find
7536amc::FSubstr* c_substr_field_Find(u32 t) __attribute__((__warn_unused_result__, nothrow));
7537// Return array of pointers
7538// func:amc.FDb.c_substr_field.Getary
7539algo::aryptr<amc::FSubstr*> c_substr_field_Getary() __attribute__((nothrow));
7540// Insert pointer to row into array. Row must not already be in array.
7541// If pointer is already in the array, it may be inserted twice.
7542// func:amc.FDb.c_substr_field.Insert
7543void c_substr_field_Insert(amc::FSubstr& row) __attribute__((nothrow));
7544// Insert pointer to row in array.
7545// If row is already in the array, do nothing.
7546// Return value: whether element was inserted into array.
7547// func:amc.FDb.c_substr_field.InsertMaybe
7548bool c_substr_field_InsertMaybe(amc::FSubstr& row) __attribute__((nothrow));
7549// Return number of items in the pointer array
7550// func:amc.FDb.c_substr_field.N
7551i32 c_substr_field_N() __attribute__((__warn_unused_result__, nothrow, pure));
7552// Find element using linear scan. If element is in array, remove, otherwise do nothing
7553// func:amc.FDb.c_substr_field.Remove
7554void c_substr_field_Remove(amc::FSubstr& row) __attribute__((nothrow));
7555// Empty the index. (The rows are not deleted)
7556// func:amc.FDb.c_substr_field.RemoveAll
7557void c_substr_field_RemoveAll() __attribute__((nothrow));
7558// Reserve space in index for N more elements;
7559// func:amc.FDb.c_substr_field.Reserve
7560void c_substr_field_Reserve(u32 n) __attribute__((nothrow));
7561// Return reference without bounds checking
7562// func:amc.FDb.c_substr_field.qFind
7563amc::FSubstr& c_substr_field_qFind(u32 idx) __attribute__((nothrow));
7564// True if row is in any ptrary instance
7565// func:amc.FDb.c_substr_field.InAryQ
7566bool c_substr_field_InAryQ(amc::FSubstr& row) __attribute__((nothrow));
7567// Reference to last element without bounds checking
7568// func:amc.FDb.c_substr_field.qLast
7569amc::FSubstr& c_substr_field_qLast() __attribute__((nothrow));
7570// Verify whether array is sorted
7571// func:amc.FDb.c_substr_field.SortedQ
7572bool c_substr_field_SortedQ() __attribute__((nothrow));
7573// Insertion sort
7574// func:amc.FDb.c_substr_field.InsertionSort
7575void c_substr_field_InsertionSort() __attribute__((nothrow));
7576// Heap sort
7577// func:amc.FDb.c_substr_field.HeapSort
7578void c_substr_field_HeapSort() __attribute__((nothrow));
7579// Quick sort
7580// func:amc.FDb.c_substr_field.QuickSort
7581void c_substr_field_QuickSort() __attribute__((nothrow));
7582
7583// Allocate memory for new default row.
7584// If out of memory, process is killed.
7585// func:amc.FDb.ctypelen.Alloc
7586amc::FCtypelen& ctypelen_Alloc() __attribute__((__warn_unused_result__, nothrow));
7587// Allocate memory for new element. If out of memory, return NULL.
7588// func:amc.FDb.ctypelen.AllocMaybe
7589amc::FCtypelen* ctypelen_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7590// Create new row from struct.
7591// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7592// func:amc.FDb.ctypelen.InsertMaybe
7593amc::FCtypelen* ctypelen_InsertMaybe(const dmmeta::Ctypelen &value) __attribute__((nothrow));
7594// Allocate space for one element. If no memory available, return NULL.
7595// func:amc.FDb.ctypelen.AllocMem
7596void* ctypelen_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7597// Return true if index is empty
7598// func:amc.FDb.ctypelen.EmptyQ
7599bool ctypelen_EmptyQ() __attribute__((nothrow, pure));
7600// Look up row by row id. Return NULL if out of range
7601// func:amc.FDb.ctypelen.Find
7602amc::FCtypelen* ctypelen_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7603// Return pointer to last element of array, or NULL if array is empty
7604// func:amc.FDb.ctypelen.Last
7605amc::FCtypelen* ctypelen_Last() __attribute__((nothrow, pure));
7606// Return number of items in the pool
7607// func:amc.FDb.ctypelen.N
7608i32 ctypelen_N() __attribute__((__warn_unused_result__, nothrow, pure));
7609// Remove all elements from Lary
7610// func:amc.FDb.ctypelen.RemoveAll
7611void ctypelen_RemoveAll() __attribute__((nothrow));
7612// Delete last element of array. Do nothing if array is empty.
7613// func:amc.FDb.ctypelen.RemoveLast
7614void ctypelen_RemoveLast() __attribute__((nothrow));
7615// 'quick' Access row by row id. No bounds checking.
7616// func:amc.FDb.ctypelen.qFind
7617amc::FCtypelen& ctypelen_qFind(u64 t) __attribute__((nothrow, pure));
7618// Insert row into all appropriate indices. If error occurs, store error
7619// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7620// func:amc.FDb.ctypelen.XrefMaybe
7621bool ctypelen_XrefMaybe(amc::FCtypelen &row);
7622
7623// Return true if index is empty
7624// func:amc.FDb.c_ctypelen.EmptyQ
7625bool c_ctypelen_EmptyQ() __attribute__((nothrow));
7626// Look up row by row id. Return NULL if out of range
7627// func:amc.FDb.c_ctypelen.Find
7628amc::FCtypelen* c_ctypelen_Find(u32 t) __attribute__((__warn_unused_result__, nothrow));
7629// Return array of pointers
7630// func:amc.FDb.c_ctypelen.Getary
7631algo::aryptr<amc::FCtypelen*> c_ctypelen_Getary() __attribute__((nothrow));
7632// Insert pointer to row into array. Row must not already be in array.
7633// If pointer is already in the array, it may be inserted twice.
7634// func:amc.FDb.c_ctypelen.Insert
7635void c_ctypelen_Insert(amc::FCtypelen& row) __attribute__((nothrow));
7636// Insert pointer to row in array.
7637// If row is already in the array, do nothing.
7638// Return value: whether element was inserted into array.
7639// func:amc.FDb.c_ctypelen.InsertMaybe
7640bool c_ctypelen_InsertMaybe(amc::FCtypelen& row) __attribute__((nothrow));
7641// Return number of items in the pointer array
7642// func:amc.FDb.c_ctypelen.N
7643i32 c_ctypelen_N() __attribute__((__warn_unused_result__, nothrow, pure));
7644// Find element using linear scan. If element is in array, remove, otherwise do nothing
7645// func:amc.FDb.c_ctypelen.Remove
7646void c_ctypelen_Remove(amc::FCtypelen& row) __attribute__((nothrow));
7647// Empty the index. (The rows are not deleted)
7648// func:amc.FDb.c_ctypelen.RemoveAll
7649void c_ctypelen_RemoveAll() __attribute__((nothrow));
7650// Reserve space in index for N more elements;
7651// func:amc.FDb.c_ctypelen.Reserve
7652void c_ctypelen_Reserve(u32 n) __attribute__((nothrow));
7653// Return reference without bounds checking
7654// func:amc.FDb.c_ctypelen.qFind
7655amc::FCtypelen& c_ctypelen_qFind(u32 idx) __attribute__((nothrow));
7656// True if row is in any ptrary instance
7657// func:amc.FDb.c_ctypelen.InAryQ
7658bool c_ctypelen_InAryQ(amc::FCtypelen& row) __attribute__((nothrow));
7659// Reference to last element without bounds checking
7660// func:amc.FDb.c_ctypelen.qLast
7661amc::FCtypelen& c_ctypelen_qLast() __attribute__((nothrow));
7662// Verify whether array is sorted
7663// func:amc.FDb.c_ctypelen.SortedQ
7664bool c_ctypelen_SortedQ() __attribute__((nothrow));
7665// Insertion sort
7666// func:amc.FDb.c_ctypelen.InsertionSort
7667void c_ctypelen_InsertionSort() __attribute__((nothrow));
7668// Heap sort
7669// func:amc.FDb.c_ctypelen.HeapSort
7670void c_ctypelen_HeapSort() __attribute__((nothrow));
7671// Quick sort
7672// func:amc.FDb.c_ctypelen.QuickSort
7673void c_ctypelen_QuickSort() __attribute__((nothrow));
7674// Save table to ssimfile
7675// func:amc.FDb.c_ctypelen.SaveSsimfile
7676bool c_ctypelen_SaveSsimfile(algo::strptr fname) __attribute__((nothrow));
7677
7678// Return true if index is empty
7679// func:amc.FDb.c_tempfield.EmptyQ
7680bool c_tempfield_EmptyQ() __attribute__((nothrow));
7681// Look up row by row id. Return NULL if out of range
7682// func:amc.FDb.c_tempfield.Find
7683amc::FField* c_tempfield_Find(u32 t) __attribute__((__warn_unused_result__, nothrow));
7684// Return array of pointers
7685// func:amc.FDb.c_tempfield.Getary
7686algo::aryptr<amc::FField*> c_tempfield_Getary() __attribute__((nothrow));
7687// Insert pointer to row into array. Row must not already be in array.
7688// If pointer is already in the array, it may be inserted twice.
7689// func:amc.FDb.c_tempfield.Insert
7690void c_tempfield_Insert(amc::FField& row) __attribute__((nothrow));
7691// Insert pointer to row in array.
7692// If row is already in the array, do nothing.
7693// Return value: whether element was inserted into array.
7694// func:amc.FDb.c_tempfield.InsertMaybe
7695bool c_tempfield_InsertMaybe(amc::FField& row) __attribute__((nothrow));
7696// Return number of items in the pointer array
7697// func:amc.FDb.c_tempfield.N
7698i32 c_tempfield_N() __attribute__((__warn_unused_result__, nothrow, pure));
7699// Find element using linear scan. If element is in array, remove, otherwise do nothing
7700// func:amc.FDb.c_tempfield.Remove
7701void c_tempfield_Remove(amc::FField& row) __attribute__((nothrow));
7702// Empty the index. (The rows are not deleted)
7703// func:amc.FDb.c_tempfield.RemoveAll
7704void c_tempfield_RemoveAll() __attribute__((nothrow));
7705// Reserve space in index for N more elements;
7706// func:amc.FDb.c_tempfield.Reserve
7707void c_tempfield_Reserve(u32 n) __attribute__((nothrow));
7708// Return reference without bounds checking
7709// func:amc.FDb.c_tempfield.qFind
7710amc::FField& c_tempfield_qFind(u32 idx) __attribute__((nothrow));
7711// True if row is in any ptrary instance
7712// func:amc.FDb.c_tempfield.InAryQ
7713bool c_tempfield_InAryQ(amc::FField& row) __attribute__((nothrow));
7714// Reference to last element without bounds checking
7715// func:amc.FDb.c_tempfield.qLast
7716amc::FField& c_tempfield_qLast() __attribute__((nothrow));
7717
7718// Allocate memory for new default row.
7719// If out of memory, process is killed.
7720// func:amc.FDb.fbase.Alloc
7721amc::FFbase& fbase_Alloc() __attribute__((__warn_unused_result__, nothrow));
7722// Allocate memory for new element. If out of memory, return NULL.
7723// func:amc.FDb.fbase.AllocMaybe
7724amc::FFbase* fbase_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7725// Create new row from struct.
7726// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7727// func:amc.FDb.fbase.InsertMaybe
7728amc::FFbase* fbase_InsertMaybe(const dmmeta::Fbase &value) __attribute__((nothrow));
7729// Allocate space for one element. If no memory available, return NULL.
7730// func:amc.FDb.fbase.AllocMem
7731void* fbase_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7732// Return true if index is empty
7733// func:amc.FDb.fbase.EmptyQ
7734bool fbase_EmptyQ() __attribute__((nothrow, pure));
7735// Look up row by row id. Return NULL if out of range
7736// func:amc.FDb.fbase.Find
7737amc::FFbase* fbase_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7738// Return pointer to last element of array, or NULL if array is empty
7739// func:amc.FDb.fbase.Last
7740amc::FFbase* fbase_Last() __attribute__((nothrow, pure));
7741// Return number of items in the pool
7742// func:amc.FDb.fbase.N
7743i32 fbase_N() __attribute__((__warn_unused_result__, nothrow, pure));
7744// Remove all elements from Lary
7745// func:amc.FDb.fbase.RemoveAll
7746void fbase_RemoveAll() __attribute__((nothrow));
7747// Delete last element of array. Do nothing if array is empty.
7748// func:amc.FDb.fbase.RemoveLast
7749void fbase_RemoveLast() __attribute__((nothrow));
7750// 'quick' Access row by row id. No bounds checking.
7751// func:amc.FDb.fbase.qFind
7752amc::FFbase& fbase_qFind(u64 t) __attribute__((nothrow, pure));
7753// Insert row into all appropriate indices. If error occurs, store error
7754// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7755// func:amc.FDb.fbase.XrefMaybe
7756bool fbase_XrefMaybe(amc::FFbase &row);
7757
7758// Return true if hash is empty
7759// func:amc.FDb.ind_fcmap.EmptyQ
7760bool ind_fcmap_EmptyQ() __attribute__((nothrow));
7761// Find row by key. Return NULL if not found.
7762// func:amc.FDb.ind_fcmap.Find
7763amc::FFcmap* ind_fcmap_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
7764// Find row by key. If not found, create and x-reference a new row with with this key.
7765// func:amc.FDb.ind_fcmap.GetOrCreate
7766amc::FFcmap& ind_fcmap_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
7767// Return number of items in the hash
7768// func:amc.FDb.ind_fcmap.N
7769i32 ind_fcmap_N() __attribute__((__warn_unused_result__, nothrow, pure));
7770// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
7771// func:amc.FDb.ind_fcmap.InsertMaybe
7772bool ind_fcmap_InsertMaybe(amc::FFcmap& row) __attribute__((nothrow));
7773// Remove reference to element from hash index. If element is not in hash, do nothing
7774// func:amc.FDb.ind_fcmap.Remove
7775void ind_fcmap_Remove(amc::FFcmap& row) __attribute__((nothrow));
7776// Reserve enough room in the hash for N more elements. Return success code.
7777// func:amc.FDb.ind_fcmap.Reserve
7778void ind_fcmap_Reserve(int n) __attribute__((nothrow));
7779
7780// Allocate memory for new default row.
7781// If out of memory, process is killed.
7782// func:amc.FDb.nossimfile.Alloc
7783amc::FNossimfile& nossimfile_Alloc() __attribute__((__warn_unused_result__, nothrow));
7784// Allocate memory for new element. If out of memory, return NULL.
7785// func:amc.FDb.nossimfile.AllocMaybe
7786amc::FNossimfile* nossimfile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7787// Create new row from struct.
7788// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7789// func:amc.FDb.nossimfile.InsertMaybe
7790amc::FNossimfile* nossimfile_InsertMaybe(const dmmeta::Nossimfile &value) __attribute__((nothrow));
7791// Allocate space for one element. If no memory available, return NULL.
7792// func:amc.FDb.nossimfile.AllocMem
7793void* nossimfile_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7794// Return true if index is empty
7795// func:amc.FDb.nossimfile.EmptyQ
7796bool nossimfile_EmptyQ() __attribute__((nothrow, pure));
7797// Look up row by row id. Return NULL if out of range
7798// func:amc.FDb.nossimfile.Find
7799amc::FNossimfile* nossimfile_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7800// Return pointer to last element of array, or NULL if array is empty
7801// func:amc.FDb.nossimfile.Last
7802amc::FNossimfile* nossimfile_Last() __attribute__((nothrow, pure));
7803// Return number of items in the pool
7804// func:amc.FDb.nossimfile.N
7805i32 nossimfile_N() __attribute__((__warn_unused_result__, nothrow, pure));
7806// Remove all elements from Lary
7807// func:amc.FDb.nossimfile.RemoveAll
7808void nossimfile_RemoveAll() __attribute__((nothrow));
7809// Delete last element of array. Do nothing if array is empty.
7810// func:amc.FDb.nossimfile.RemoveLast
7811void nossimfile_RemoveLast() __attribute__((nothrow));
7812// 'quick' Access row by row id. No bounds checking.
7813// func:amc.FDb.nossimfile.qFind
7814amc::FNossimfile& nossimfile_qFind(u64 t) __attribute__((nothrow, pure));
7815// Insert row into all appropriate indices. If error occurs, store error
7816// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7817// func:amc.FDb.nossimfile.XrefMaybe
7818bool nossimfile_XrefMaybe(amc::FNossimfile &row);
7819
7820// Allocate memory for new default row.
7821// If out of memory, process is killed.
7822// func:amc.FDb.gsymbol.Alloc
7823amc::FGsymbol& gsymbol_Alloc() __attribute__((__warn_unused_result__, nothrow));
7824// Allocate memory for new element. If out of memory, return NULL.
7825// func:amc.FDb.gsymbol.AllocMaybe
7826amc::FGsymbol* gsymbol_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7827// Create new row from struct.
7828// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7829// func:amc.FDb.gsymbol.InsertMaybe
7830amc::FGsymbol* gsymbol_InsertMaybe(const dmmeta::Gsymbol &value) __attribute__((nothrow));
7831// Allocate space for one element. If no memory available, return NULL.
7832// func:amc.FDb.gsymbol.AllocMem
7833void* gsymbol_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7834// Return true if index is empty
7835// func:amc.FDb.gsymbol.EmptyQ
7836bool gsymbol_EmptyQ() __attribute__((nothrow, pure));
7837// Look up row by row id. Return NULL if out of range
7838// func:amc.FDb.gsymbol.Find
7839amc::FGsymbol* gsymbol_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7840// Return pointer to last element of array, or NULL if array is empty
7841// func:amc.FDb.gsymbol.Last
7842amc::FGsymbol* gsymbol_Last() __attribute__((nothrow, pure));
7843// Return number of items in the pool
7844// func:amc.FDb.gsymbol.N
7845i32 gsymbol_N() __attribute__((__warn_unused_result__, nothrow, pure));
7846// Remove all elements from Lary
7847// func:amc.FDb.gsymbol.RemoveAll
7848void gsymbol_RemoveAll() __attribute__((nothrow));
7849// Delete last element of array. Do nothing if array is empty.
7850// func:amc.FDb.gsymbol.RemoveLast
7851void gsymbol_RemoveLast() __attribute__((nothrow));
7852// 'quick' Access row by row id. No bounds checking.
7853// func:amc.FDb.gsymbol.qFind
7854amc::FGsymbol& gsymbol_qFind(u64 t) __attribute__((nothrow, pure));
7855// Insert row into all appropriate indices. If error occurs, store error
7856// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7857// func:amc.FDb.gsymbol.XrefMaybe
7858bool gsymbol_XrefMaybe(amc::FGsymbol &row);
7859
7860// Allocate memory for new default row.
7861// If out of memory, process is killed.
7862// func:amc.FDb.sortfld.Alloc
7863amc::FSortfld& sortfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
7864// Allocate memory for new element. If out of memory, return NULL.
7865// func:amc.FDb.sortfld.AllocMaybe
7866amc::FSortfld* sortfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7867// Create new row from struct.
7868// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7869// func:amc.FDb.sortfld.InsertMaybe
7870amc::FSortfld* sortfld_InsertMaybe(const dmmeta::Sortfld &value) __attribute__((nothrow));
7871// Allocate space for one element. If no memory available, return NULL.
7872// func:amc.FDb.sortfld.AllocMem
7873void* sortfld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7874// Return true if index is empty
7875// func:amc.FDb.sortfld.EmptyQ
7876bool sortfld_EmptyQ() __attribute__((nothrow, pure));
7877// Look up row by row id. Return NULL if out of range
7878// func:amc.FDb.sortfld.Find
7879amc::FSortfld* sortfld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7880// Return pointer to last element of array, or NULL if array is empty
7881// func:amc.FDb.sortfld.Last
7882amc::FSortfld* sortfld_Last() __attribute__((nothrow, pure));
7883// Return number of items in the pool
7884// func:amc.FDb.sortfld.N
7885i32 sortfld_N() __attribute__((__warn_unused_result__, nothrow, pure));
7886// Delete last element of array. Do nothing if array is empty.
7887// func:amc.FDb.sortfld.RemoveLast
7888void sortfld_RemoveLast() __attribute__((nothrow));
7889// 'quick' Access row by row id. No bounds checking.
7890// func:amc.FDb.sortfld.qFind
7891amc::FSortfld& sortfld_qFind(u64 t) __attribute__((nothrow, pure));
7892// Insert row into all appropriate indices. If error occurs, store error
7893// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7894// func:amc.FDb.sortfld.XrefMaybe
7895bool sortfld_XrefMaybe(amc::FSortfld &row);
7896
7897// Allocate memory for new default row.
7898// If out of memory, process is killed.
7899// func:amc.FDb.cget.Alloc
7900amc::FCget& cget_Alloc() __attribute__((__warn_unused_result__, nothrow));
7901// Allocate memory for new element. If out of memory, return NULL.
7902// func:amc.FDb.cget.AllocMaybe
7903amc::FCget* cget_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
7904// Create new row from struct.
7905// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
7906// func:amc.FDb.cget.InsertMaybe
7907amc::FCget* cget_InsertMaybe(const dmmeta::Cget &value) __attribute__((nothrow));
7908// Allocate space for one element. If no memory available, return NULL.
7909// func:amc.FDb.cget.AllocMem
7910void* cget_AllocMem() __attribute__((__warn_unused_result__, nothrow));
7911// Return true if index is empty
7912// func:amc.FDb.cget.EmptyQ
7913bool cget_EmptyQ() __attribute__((nothrow, pure));
7914// Look up row by row id. Return NULL if out of range
7915// func:amc.FDb.cget.Find
7916amc::FCget* cget_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
7917// Return pointer to last element of array, or NULL if array is empty
7918// func:amc.FDb.cget.Last
7919amc::FCget* cget_Last() __attribute__((nothrow, pure));
7920// Return number of items in the pool
7921// func:amc.FDb.cget.N
7922i32 cget_N() __attribute__((__warn_unused_result__, nothrow, pure));
7923// Delete last element of array. Do nothing if array is empty.
7924// func:amc.FDb.cget.RemoveLast
7925void cget_RemoveLast() __attribute__((nothrow));
7926// 'quick' Access row by row id. No bounds checking.
7927// func:amc.FDb.cget.qFind
7928amc::FCget& cget_qFind(u64 t) __attribute__((nothrow, pure));
7929// Insert row into all appropriate indices. If error occurs, store error
7930// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
7931// func:amc.FDb.cget.XrefMaybe
7932bool cget_XrefMaybe(amc::FCget &row);
7933
7934// Return true if index is empty
7935// func:amc.FDb.cd_temp_func.EmptyQ
7936bool cd_temp_func_EmptyQ() __attribute__((__warn_unused_result__, nothrow, pure));
7937// If index empty, return NULL. Otherwise return pointer to first element in index
7938// func:amc.FDb.cd_temp_func.First
7939amc::FFunc* cd_temp_func_First() __attribute__((__warn_unused_result__, nothrow, pure));
7940// Return true if row is in the linked list, false otherwise
7941// func:amc.FDb.cd_temp_func.InLlistQ
7942bool cd_temp_func_InLlistQ(amc::FFunc& row) __attribute__((__warn_unused_result__, nothrow));
7943// Insert row into linked list. If row is already in linked list, do nothing.
7944// func:amc.FDb.cd_temp_func.Insert
7945void cd_temp_func_Insert(amc::FFunc& row) __attribute__((nothrow));
7946// If index empty, return NULL. Otherwise return pointer to last element in index
7947// func:amc.FDb.cd_temp_func.Last
7948amc::FFunc* cd_temp_func_Last() __attribute__((__warn_unused_result__, nothrow, pure));
7949// Return number of items in the linked list
7950// func:amc.FDb.cd_temp_func.N
7951i32 cd_temp_func_N() __attribute__((__warn_unused_result__, nothrow, pure));
7952// Return pointer to next element in the list
7953// func:amc.FDb.cd_temp_func.Next
7954amc::FFunc* cd_temp_func_Next(amc::FFunc &row) __attribute__((__warn_unused_result__, nothrow));
7955// Return pointer to previous element in the list
7956// func:amc.FDb.cd_temp_func.Prev
7957amc::FFunc* cd_temp_func_Prev(amc::FFunc &row) __attribute__((__warn_unused_result__, nothrow));
7958// Remove element from index. If element is not in index, do nothing.
7959// func:amc.FDb.cd_temp_func.Remove
7960void cd_temp_func_Remove(amc::FFunc& row) __attribute__((nothrow));
7961// Empty the index. (The rows are not deleted)
7962// func:amc.FDb.cd_temp_func.RemoveAll
7963void cd_temp_func_RemoveAll() __attribute__((nothrow));
7964// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
7965// func:amc.FDb.cd_temp_func.RemoveFirst
7966amc::FFunc* cd_temp_func_RemoveFirst() __attribute__((nothrow));
7967// If linked list is empty, return NULL.
7968// Otherwise return head item and advance head to the next item.
7969// func:amc.FDb.cd_temp_func.RotateFirst
7970amc::FFunc* cd_temp_func_RotateFirst() __attribute__((nothrow));
7971// Return reference to last element in the index. No bounds checking.
7972// func:amc.FDb.cd_temp_func.qLast
7973amc::FFunc& cd_temp_func_qLast() __attribute__((__warn_unused_result__, nothrow));
7974
7975// Return true if index is empty
7976// func:amc.FDb.zs_gen_perns.EmptyQ
7977bool zs_gen_perns_EmptyQ() __attribute__((__warn_unused_result__, nothrow, pure));
7978// If index empty, return NULL. Otherwise return pointer to first element in index
7979// func:amc.FDb.zs_gen_perns.First
7980amc::FGen* zs_gen_perns_First() __attribute__((__warn_unused_result__, nothrow, pure));
7981// Return true if row is in the linked list, false otherwise
7982// func:amc.FDb.zs_gen_perns.InLlistQ
7983bool zs_gen_perns_InLlistQ(amc::FGen& row) __attribute__((__warn_unused_result__, nothrow));
7984// Insert row into linked list. If row is already in linked list, do nothing.
7985// func:amc.FDb.zs_gen_perns.Insert
7986void zs_gen_perns_Insert(amc::FGen& row) __attribute__((nothrow));
7987// If index empty, return NULL. Otherwise return pointer to last element in index
7988// func:amc.FDb.zs_gen_perns.Last
7989amc::FGen* zs_gen_perns_Last() __attribute__((__warn_unused_result__, nothrow, pure));
7990// Return pointer to next element in the list
7991// func:amc.FDb.zs_gen_perns.Next
7992amc::FGen* zs_gen_perns_Next(amc::FGen &row) __attribute__((__warn_unused_result__, nothrow));
7993// Remove element from index. If element is not in index, do nothing.
7994// Since the list is singly-linked, use linear search to locate the element.
7995// func:amc.FDb.zs_gen_perns.Remove
7996void zs_gen_perns_Remove(amc::FGen& row) __attribute__((nothrow));
7997// Empty the index. (The rows are not deleted)
7998// func:amc.FDb.zs_gen_perns.RemoveAll
7999void zs_gen_perns_RemoveAll() __attribute__((nothrow));
8000// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
8001// func:amc.FDb.zs_gen_perns.RemoveFirst
8002amc::FGen* zs_gen_perns_RemoveFirst() __attribute__((nothrow));
8003// Return reference to last element in the index. No bounds checking.
8004// func:amc.FDb.zs_gen_perns.qLast
8005amc::FGen& zs_gen_perns_qLast() __attribute__((__warn_unused_result__, nothrow));
8006
8007// Allocate memory for new default row.
8008// If out of memory, process is killed.
8009// func:amc.FDb.hook.Alloc
8010amc::FHook& hook_Alloc() __attribute__((__warn_unused_result__, nothrow));
8011// Allocate memory for new element. If out of memory, return NULL.
8012// func:amc.FDb.hook.AllocMaybe
8013amc::FHook* hook_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8014// Create new row from struct.
8015// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8016// func:amc.FDb.hook.InsertMaybe
8017amc::FHook* hook_InsertMaybe(const dmmeta::Hook &value) __attribute__((nothrow));
8018// Allocate space for one element. If no memory available, return NULL.
8019// func:amc.FDb.hook.AllocMem
8020void* hook_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8021// Return true if index is empty
8022// func:amc.FDb.hook.EmptyQ
8023bool hook_EmptyQ() __attribute__((nothrow, pure));
8024// Look up row by row id. Return NULL if out of range
8025// func:amc.FDb.hook.Find
8026amc::FHook* hook_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8027// Return pointer to last element of array, or NULL if array is empty
8028// func:amc.FDb.hook.Last
8029amc::FHook* hook_Last() __attribute__((nothrow, pure));
8030// Return number of items in the pool
8031// func:amc.FDb.hook.N
8032i32 hook_N() __attribute__((__warn_unused_result__, nothrow, pure));
8033// Remove all elements from Lary
8034// func:amc.FDb.hook.RemoveAll
8035void hook_RemoveAll() __attribute__((nothrow));
8036// Delete last element of array. Do nothing if array is empty.
8037// func:amc.FDb.hook.RemoveLast
8038void hook_RemoveLast() __attribute__((nothrow));
8039// 'quick' Access row by row id. No bounds checking.
8040// func:amc.FDb.hook.qFind
8041amc::FHook& hook_qFind(u64 t) __attribute__((nothrow, pure));
8042// Insert row into all appropriate indices. If error occurs, store error
8043// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8044// func:amc.FDb.hook.XrefMaybe
8045bool hook_XrefMaybe(amc::FHook &row);
8046
8047// Allocate memory for new default row.
8048// If out of memory, process is killed.
8049// func:amc.FDb.charset.Alloc
8050amc::FCharset& charset_Alloc() __attribute__((__warn_unused_result__, nothrow));
8051// Allocate memory for new element. If out of memory, return NULL.
8052// func:amc.FDb.charset.AllocMaybe
8053amc::FCharset* charset_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8054// Create new row from struct.
8055// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8056// func:amc.FDb.charset.InsertMaybe
8057amc::FCharset* charset_InsertMaybe(const dmmeta::Charset &value) __attribute__((nothrow));
8058// Allocate space for one element. If no memory available, return NULL.
8059// func:amc.FDb.charset.AllocMem
8060void* charset_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8061// Return true if index is empty
8062// func:amc.FDb.charset.EmptyQ
8063bool charset_EmptyQ() __attribute__((nothrow, pure));
8064// Look up row by row id. Return NULL if out of range
8065// func:amc.FDb.charset.Find
8066amc::FCharset* charset_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8067// Return pointer to last element of array, or NULL if array is empty
8068// func:amc.FDb.charset.Last
8069amc::FCharset* charset_Last() __attribute__((nothrow, pure));
8070// Return number of items in the pool
8071// func:amc.FDb.charset.N
8072i32 charset_N() __attribute__((__warn_unused_result__, nothrow, pure));
8073// Remove all elements from Lary
8074// func:amc.FDb.charset.RemoveAll
8075void charset_RemoveAll() __attribute__((nothrow));
8076// Delete last element of array. Do nothing if array is empty.
8077// func:amc.FDb.charset.RemoveLast
8078void charset_RemoveLast() __attribute__((nothrow));
8079// 'quick' Access row by row id. No bounds checking.
8080// func:amc.FDb.charset.qFind
8081amc::FCharset& charset_qFind(u64 t) __attribute__((nothrow, pure));
8082// Insert row into all appropriate indices. If error occurs, store error
8083// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8084// func:amc.FDb.charset.XrefMaybe
8085bool charset_XrefMaybe(amc::FCharset &row);
8086
8087// func:amc.FDb.ValidRnumPad.Match
8088bool ValidRnumPadQ(u32 ch) __attribute__((nothrow));
8089
8090// Allocate memory for new default row.
8091// If out of memory, process is killed.
8092// func:amc.FDb.nsinclude.Alloc
8093amc::FNsinclude& nsinclude_Alloc() __attribute__((__warn_unused_result__, nothrow));
8094// Allocate memory for new element. If out of memory, return NULL.
8095// func:amc.FDb.nsinclude.AllocMaybe
8096amc::FNsinclude* nsinclude_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8097// Create new row from struct.
8098// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8099// func:amc.FDb.nsinclude.InsertMaybe
8100amc::FNsinclude* nsinclude_InsertMaybe(const dmmeta::Nsinclude &value) __attribute__((nothrow));
8101// Allocate space for one element. If no memory available, return NULL.
8102// func:amc.FDb.nsinclude.AllocMem
8103void* nsinclude_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8104// Return true if index is empty
8105// func:amc.FDb.nsinclude.EmptyQ
8106bool nsinclude_EmptyQ() __attribute__((nothrow, pure));
8107// Look up row by row id. Return NULL if out of range
8108// func:amc.FDb.nsinclude.Find
8109amc::FNsinclude* nsinclude_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8110// Return pointer to last element of array, or NULL if array is empty
8111// func:amc.FDb.nsinclude.Last
8112amc::FNsinclude* nsinclude_Last() __attribute__((nothrow, pure));
8113// Return number of items in the pool
8114// func:amc.FDb.nsinclude.N
8115i32 nsinclude_N() __attribute__((__warn_unused_result__, nothrow, pure));
8116// Remove all elements from Lary
8117// func:amc.FDb.nsinclude.RemoveAll
8118void nsinclude_RemoveAll() __attribute__((nothrow));
8119// Delete last element of array. Do nothing if array is empty.
8120// func:amc.FDb.nsinclude.RemoveLast
8121void nsinclude_RemoveLast() __attribute__((nothrow));
8122// 'quick' Access row by row id. No bounds checking.
8123// func:amc.FDb.nsinclude.qFind
8124amc::FNsinclude& nsinclude_qFind(u64 t) __attribute__((nothrow, pure));
8125// Insert row into all appropriate indices. If error occurs, store error
8126// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8127// func:amc.FDb.nsinclude.XrefMaybe
8128bool nsinclude_XrefMaybe(amc::FNsinclude &row);
8129
8130// Allocate memory for new default row.
8131// If out of memory, process is killed.
8132// func:amc.FDb.ssimvolatile.Alloc
8133amc::FSsimvolatile& ssimvolatile_Alloc() __attribute__((__warn_unused_result__, nothrow));
8134// Allocate memory for new element. If out of memory, return NULL.
8135// func:amc.FDb.ssimvolatile.AllocMaybe
8136amc::FSsimvolatile* ssimvolatile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8137// Create new row from struct.
8138// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8139// func:amc.FDb.ssimvolatile.InsertMaybe
8140amc::FSsimvolatile* ssimvolatile_InsertMaybe(const dmmeta::Ssimvolatile &value) __attribute__((nothrow));
8141// Allocate space for one element. If no memory available, return NULL.
8142// func:amc.FDb.ssimvolatile.AllocMem
8143void* ssimvolatile_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8144// Return true if index is empty
8145// func:amc.FDb.ssimvolatile.EmptyQ
8146bool ssimvolatile_EmptyQ() __attribute__((nothrow, pure));
8147// Look up row by row id. Return NULL if out of range
8148// func:amc.FDb.ssimvolatile.Find
8149amc::FSsimvolatile* ssimvolatile_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8150// Return pointer to last element of array, or NULL if array is empty
8151// func:amc.FDb.ssimvolatile.Last
8152amc::FSsimvolatile* ssimvolatile_Last() __attribute__((nothrow, pure));
8153// Return number of items in the pool
8154// func:amc.FDb.ssimvolatile.N
8155i32 ssimvolatile_N() __attribute__((__warn_unused_result__, nothrow, pure));
8156// Remove all elements from Lary
8157// func:amc.FDb.ssimvolatile.RemoveAll
8158void ssimvolatile_RemoveAll() __attribute__((nothrow));
8159// Delete last element of array. Do nothing if array is empty.
8160// func:amc.FDb.ssimvolatile.RemoveLast
8161void ssimvolatile_RemoveLast() __attribute__((nothrow));
8162// 'quick' Access row by row id. No bounds checking.
8163// func:amc.FDb.ssimvolatile.qFind
8164amc::FSsimvolatile& ssimvolatile_qFind(u64 t) __attribute__((nothrow, pure));
8165// Insert row into all appropriate indices. If error occurs, store error
8166// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8167// func:amc.FDb.ssimvolatile.XrefMaybe
8168bool ssimvolatile_XrefMaybe(amc::FSsimvolatile &row);
8169
8170// Allocate memory for new default row.
8171// If out of memory, process is killed.
8172// func:amc.FDb.funique.Alloc
8173amc::FFunique& funique_Alloc() __attribute__((__warn_unused_result__, nothrow));
8174// Allocate memory for new element. If out of memory, return NULL.
8175// func:amc.FDb.funique.AllocMaybe
8176amc::FFunique* funique_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8177// Create new row from struct.
8178// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8179// func:amc.FDb.funique.InsertMaybe
8180amc::FFunique* funique_InsertMaybe(const dmmeta::Funique &value) __attribute__((nothrow));
8181// Allocate space for one element. If no memory available, return NULL.
8182// func:amc.FDb.funique.AllocMem
8183void* funique_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8184// Return true if index is empty
8185// func:amc.FDb.funique.EmptyQ
8186bool funique_EmptyQ() __attribute__((nothrow, pure));
8187// Look up row by row id. Return NULL if out of range
8188// func:amc.FDb.funique.Find
8189amc::FFunique* funique_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8190// Return pointer to last element of array, or NULL if array is empty
8191// func:amc.FDb.funique.Last
8192amc::FFunique* funique_Last() __attribute__((nothrow, pure));
8193// Return number of items in the pool
8194// func:amc.FDb.funique.N
8195i32 funique_N() __attribute__((__warn_unused_result__, nothrow, pure));
8196// Remove all elements from Lary
8197// func:amc.FDb.funique.RemoveAll
8198void funique_RemoveAll() __attribute__((nothrow));
8199// Delete last element of array. Do nothing if array is empty.
8200// func:amc.FDb.funique.RemoveLast
8201void funique_RemoveLast() __attribute__((nothrow));
8202// 'quick' Access row by row id. No bounds checking.
8203// func:amc.FDb.funique.qFind
8204amc::FFunique& funique_qFind(u64 t) __attribute__((nothrow, pure));
8205// Insert row into all appropriate indices. If error occurs, store error
8206// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8207// func:amc.FDb.funique.XrefMaybe
8208bool funique_XrefMaybe(amc::FFunique &row);
8209
8210// Allocate memory for new default row.
8211// If out of memory, process is killed.
8212// func:amc.FDb.fuserinit.Alloc
8213amc::FFuserinit& fuserinit_Alloc() __attribute__((__warn_unused_result__, nothrow));
8214// Allocate memory for new element. If out of memory, return NULL.
8215// func:amc.FDb.fuserinit.AllocMaybe
8216amc::FFuserinit* fuserinit_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8217// Create new row from struct.
8218// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8219// func:amc.FDb.fuserinit.InsertMaybe
8220amc::FFuserinit* fuserinit_InsertMaybe(const dmmeta::Fuserinit &value) __attribute__((nothrow));
8221// Allocate space for one element. If no memory available, return NULL.
8222// func:amc.FDb.fuserinit.AllocMem
8223void* fuserinit_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8224// Return true if index is empty
8225// func:amc.FDb.fuserinit.EmptyQ
8226bool fuserinit_EmptyQ() __attribute__((nothrow, pure));
8227// Look up row by row id. Return NULL if out of range
8228// func:amc.FDb.fuserinit.Find
8229amc::FFuserinit* fuserinit_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8230// Return pointer to last element of array, or NULL if array is empty
8231// func:amc.FDb.fuserinit.Last
8232amc::FFuserinit* fuserinit_Last() __attribute__((nothrow, pure));
8233// Return number of items in the pool
8234// func:amc.FDb.fuserinit.N
8235i32 fuserinit_N() __attribute__((__warn_unused_result__, nothrow, pure));
8236// Remove all elements from Lary
8237// func:amc.FDb.fuserinit.RemoveAll
8238void fuserinit_RemoveAll() __attribute__((nothrow));
8239// Delete last element of array. Do nothing if array is empty.
8240// func:amc.FDb.fuserinit.RemoveLast
8241void fuserinit_RemoveLast() __attribute__((nothrow));
8242// 'quick' Access row by row id. No bounds checking.
8243// func:amc.FDb.fuserinit.qFind
8244amc::FFuserinit& fuserinit_qFind(u64 t) __attribute__((nothrow, pure));
8245// Insert row into all appropriate indices. If error occurs, store error
8246// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8247// func:amc.FDb.fuserinit.XrefMaybe
8248bool fuserinit_XrefMaybe(amc::FFuserinit &row);
8249
8250// Return true if hash is empty
8251// func:amc.FDb.ind_fcurs.EmptyQ
8252bool ind_fcurs_EmptyQ() __attribute__((nothrow));
8253// Find row by key. Return NULL if not found.
8254// func:amc.FDb.ind_fcurs.Find
8255amc::FFcurs* ind_fcurs_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
8256// Find row by key. If not found, create and x-reference a new row with with this key.
8257// func:amc.FDb.ind_fcurs.GetOrCreate
8258amc::FFcurs& ind_fcurs_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
8259// Return number of items in the hash
8260// func:amc.FDb.ind_fcurs.N
8261i32 ind_fcurs_N() __attribute__((__warn_unused_result__, nothrow, pure));
8262// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
8263// func:amc.FDb.ind_fcurs.InsertMaybe
8264bool ind_fcurs_InsertMaybe(amc::FFcurs& row) __attribute__((nothrow));
8265// Remove reference to element from hash index. If element is not in hash, do nothing
8266// func:amc.FDb.ind_fcurs.Remove
8267void ind_fcurs_Remove(amc::FFcurs& row) __attribute__((nothrow));
8268// Reserve enough room in the hash for N more elements. Return success code.
8269// func:amc.FDb.ind_fcurs.Reserve
8270void ind_fcurs_Reserve(int n) __attribute__((nothrow));
8271
8272// Allocate memory for new default row.
8273// If out of memory, process is killed.
8274// func:amc.FDb.tcurs.Alloc
8275amc::FTcurs& tcurs_Alloc() __attribute__((__warn_unused_result__, nothrow));
8276// Allocate memory for new element. If out of memory, return NULL.
8277// func:amc.FDb.tcurs.AllocMaybe
8278amc::FTcurs* tcurs_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8279// Create new row from struct.
8280// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8281// func:amc.FDb.tcurs.InsertMaybe
8282amc::FTcurs* tcurs_InsertMaybe(const amcdb::Tcurs &value) __attribute__((nothrow));
8283// Allocate space for one element. If no memory available, return NULL.
8284// func:amc.FDb.tcurs.AllocMem
8285void* tcurs_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8286// Return true if index is empty
8287// func:amc.FDb.tcurs.EmptyQ
8288bool tcurs_EmptyQ() __attribute__((nothrow, pure));
8289// Look up row by row id. Return NULL if out of range
8290// func:amc.FDb.tcurs.Find
8291amc::FTcurs* tcurs_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8292// Return pointer to last element of array, or NULL if array is empty
8293// func:amc.FDb.tcurs.Last
8294amc::FTcurs* tcurs_Last() __attribute__((nothrow, pure));
8295// Return number of items in the pool
8296// func:amc.FDb.tcurs.N
8297i32 tcurs_N() __attribute__((__warn_unused_result__, nothrow, pure));
8298// Remove all elements from Lary
8299// func:amc.FDb.tcurs.RemoveAll
8300void tcurs_RemoveAll() __attribute__((nothrow));
8301// Delete last element of array. Do nothing if array is empty.
8302// func:amc.FDb.tcurs.RemoveLast
8303void tcurs_RemoveLast() __attribute__((nothrow));
8304// 'quick' Access row by row id. No bounds checking.
8305// func:amc.FDb.tcurs.qFind
8306amc::FTcurs& tcurs_qFind(u64 t) __attribute__((nothrow, pure));
8307// Insert row into all appropriate indices. If error occurs, store error
8308// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8309// func:amc.FDb.tcurs.XrefMaybe
8310bool tcurs_XrefMaybe(amc::FTcurs &row);
8311
8312// Allocate memory for new default row.
8313// If out of memory, process is killed.
8314// func:amc.FDb.nscpp.Alloc
8315amc::FNscpp& nscpp_Alloc() __attribute__((__warn_unused_result__, nothrow));
8316// Allocate memory for new element. If out of memory, return NULL.
8317// func:amc.FDb.nscpp.AllocMaybe
8318amc::FNscpp* nscpp_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8319// Create new row from struct.
8320// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8321// func:amc.FDb.nscpp.InsertMaybe
8322amc::FNscpp* nscpp_InsertMaybe(const dmmeta::Nscpp &value) __attribute__((nothrow));
8323// Allocate space for one element. If no memory available, return NULL.
8324// func:amc.FDb.nscpp.AllocMem
8325void* nscpp_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8326// Return true if index is empty
8327// func:amc.FDb.nscpp.EmptyQ
8328bool nscpp_EmptyQ() __attribute__((nothrow, pure));
8329// Look up row by row id. Return NULL if out of range
8330// func:amc.FDb.nscpp.Find
8331amc::FNscpp* nscpp_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8332// Return pointer to last element of array, or NULL if array is empty
8333// func:amc.FDb.nscpp.Last
8334amc::FNscpp* nscpp_Last() __attribute__((nothrow, pure));
8335// Return number of items in the pool
8336// func:amc.FDb.nscpp.N
8337i32 nscpp_N() __attribute__((__warn_unused_result__, nothrow, pure));
8338// Remove all elements from Lary
8339// func:amc.FDb.nscpp.RemoveAll
8340void nscpp_RemoveAll() __attribute__((nothrow));
8341// Delete last element of array. Do nothing if array is empty.
8342// func:amc.FDb.nscpp.RemoveLast
8343void nscpp_RemoveLast() __attribute__((nothrow));
8344// 'quick' Access row by row id. No bounds checking.
8345// func:amc.FDb.nscpp.qFind
8346amc::FNscpp& nscpp_qFind(u64 t) __attribute__((nothrow, pure));
8347// Insert row into all appropriate indices. If error occurs, store error
8348// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8349// func:amc.FDb.nscpp.XrefMaybe
8350bool nscpp_XrefMaybe(amc::FNscpp &row);
8351
8352// Allocate memory for new default row.
8353// If out of memory, process is killed.
8354// func:amc.FDb.fflag.Alloc
8355amc::FFflag& fflag_Alloc() __attribute__((__warn_unused_result__, nothrow));
8356// Allocate memory for new element. If out of memory, return NULL.
8357// func:amc.FDb.fflag.AllocMaybe
8358amc::FFflag* fflag_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8359// Create new row from struct.
8360// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8361// func:amc.FDb.fflag.InsertMaybe
8362amc::FFflag* fflag_InsertMaybe(const dmmeta::Fflag &value) __attribute__((nothrow));
8363// Allocate space for one element. If no memory available, return NULL.
8364// func:amc.FDb.fflag.AllocMem
8365void* fflag_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8366// Return true if index is empty
8367// func:amc.FDb.fflag.EmptyQ
8368bool fflag_EmptyQ() __attribute__((nothrow, pure));
8369// Look up row by row id. Return NULL if out of range
8370// func:amc.FDb.fflag.Find
8371amc::FFflag* fflag_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8372// Return pointer to last element of array, or NULL if array is empty
8373// func:amc.FDb.fflag.Last
8374amc::FFflag* fflag_Last() __attribute__((nothrow, pure));
8375// Return number of items in the pool
8376// func:amc.FDb.fflag.N
8377i32 fflag_N() __attribute__((__warn_unused_result__, nothrow, pure));
8378// Remove all elements from Lary
8379// func:amc.FDb.fflag.RemoveAll
8380void fflag_RemoveAll() __attribute__((nothrow));
8381// Delete last element of array. Do nothing if array is empty.
8382// func:amc.FDb.fflag.RemoveLast
8383void fflag_RemoveLast() __attribute__((nothrow));
8384// 'quick' Access row by row id. No bounds checking.
8385// func:amc.FDb.fflag.qFind
8386amc::FFflag& fflag_qFind(u64 t) __attribute__((nothrow, pure));
8387// Insert row into all appropriate indices. If error occurs, store error
8388// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8389// func:amc.FDb.fflag.XrefMaybe
8390bool fflag_XrefMaybe(amc::FFflag &row);
8391
8392// Return true if hash is empty
8393// func:amc.FDb.ind_fflag.EmptyQ
8394bool ind_fflag_EmptyQ() __attribute__((nothrow));
8395// Find row by key. Return NULL if not found.
8396// func:amc.FDb.ind_fflag.Find
8397amc::FFflag* ind_fflag_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
8398// Find row by key. If not found, create and x-reference a new row with with this key.
8399// func:amc.FDb.ind_fflag.GetOrCreate
8400amc::FFflag& ind_fflag_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
8401// Return number of items in the hash
8402// func:amc.FDb.ind_fflag.N
8403i32 ind_fflag_N() __attribute__((__warn_unused_result__, nothrow, pure));
8404// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
8405// func:amc.FDb.ind_fflag.InsertMaybe
8406bool ind_fflag_InsertMaybe(amc::FFflag& row) __attribute__((nothrow));
8407// Remove reference to element from hash index. If element is not in hash, do nothing
8408// func:amc.FDb.ind_fflag.Remove
8409void ind_fflag_Remove(amc::FFflag& row) __attribute__((nothrow));
8410// Reserve enough room in the hash for N more elements. Return success code.
8411// func:amc.FDb.ind_fflag.Reserve
8412void ind_fflag_Reserve(int n) __attribute__((nothrow));
8413
8414// Allocate memory for new default row.
8415// If out of memory, process is killed.
8416// func:amc.FDb.falias.Alloc
8417amc::FFalias& falias_Alloc() __attribute__((__warn_unused_result__, nothrow));
8418// Allocate memory for new element. If out of memory, return NULL.
8419// func:amc.FDb.falias.AllocMaybe
8420amc::FFalias* falias_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8421// Create new row from struct.
8422// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8423// func:amc.FDb.falias.InsertMaybe
8424amc::FFalias* falias_InsertMaybe(const dmmeta::Falias &value) __attribute__((nothrow));
8425// Allocate space for one element. If no memory available, return NULL.
8426// func:amc.FDb.falias.AllocMem
8427void* falias_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8428// Return true if index is empty
8429// func:amc.FDb.falias.EmptyQ
8430bool falias_EmptyQ() __attribute__((nothrow, pure));
8431// Look up row by row id. Return NULL if out of range
8432// func:amc.FDb.falias.Find
8433amc::FFalias* falias_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8434// Return pointer to last element of array, or NULL if array is empty
8435// func:amc.FDb.falias.Last
8436amc::FFalias* falias_Last() __attribute__((nothrow, pure));
8437// Return number of items in the pool
8438// func:amc.FDb.falias.N
8439i32 falias_N() __attribute__((__warn_unused_result__, nothrow, pure));
8440// Remove all elements from Lary
8441// func:amc.FDb.falias.RemoveAll
8442void falias_RemoveAll() __attribute__((nothrow));
8443// Delete last element of array. Do nothing if array is empty.
8444// func:amc.FDb.falias.RemoveLast
8445void falias_RemoveLast() __attribute__((nothrow));
8446// 'quick' Access row by row id. No bounds checking.
8447// func:amc.FDb.falias.qFind
8448amc::FFalias& falias_qFind(u64 t) __attribute__((nothrow, pure));
8449// Insert row into all appropriate indices. If error occurs, store error
8450// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8451// func:amc.FDb.falias.XrefMaybe
8452bool falias_XrefMaybe(amc::FFalias &row);
8453
8454// Allocate memory for new default row.
8455// If out of memory, process is killed.
8456// func:amc.FDb.license.Alloc
8457amc::FLicense& license_Alloc() __attribute__((__warn_unused_result__, nothrow));
8458// Allocate memory for new element. If out of memory, return NULL.
8459// func:amc.FDb.license.AllocMaybe
8460amc::FLicense* license_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8461// Create new row from struct.
8462// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8463// func:amc.FDb.license.InsertMaybe
8464amc::FLicense* license_InsertMaybe(const dev::License &value) __attribute__((nothrow));
8465// Allocate space for one element. If no memory available, return NULL.
8466// func:amc.FDb.license.AllocMem
8467void* license_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8468// Return true if index is empty
8469// func:amc.FDb.license.EmptyQ
8470bool license_EmptyQ() __attribute__((nothrow, pure));
8471// Look up row by row id. Return NULL if out of range
8472// func:amc.FDb.license.Find
8473amc::FLicense* license_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8474// Return pointer to last element of array, or NULL if array is empty
8475// func:amc.FDb.license.Last
8476amc::FLicense* license_Last() __attribute__((nothrow, pure));
8477// Return number of items in the pool
8478// func:amc.FDb.license.N
8479i32 license_N() __attribute__((__warn_unused_result__, nothrow, pure));
8480// Remove all elements from Lary
8481// func:amc.FDb.license.RemoveAll
8482void license_RemoveAll() __attribute__((nothrow));
8483// Delete last element of array. Do nothing if array is empty.
8484// func:amc.FDb.license.RemoveLast
8485void license_RemoveLast() __attribute__((nothrow));
8486// 'quick' Access row by row id. No bounds checking.
8487// func:amc.FDb.license.qFind
8488amc::FLicense& license_qFind(u64 t) __attribute__((nothrow, pure));
8489// Insert row into all appropriate indices. If error occurs, store error
8490// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8491// func:amc.FDb.license.XrefMaybe
8492bool license_XrefMaybe(amc::FLicense &row);
8493
8494// Return true if hash is empty
8495// func:amc.FDb.ind_license.EmptyQ
8496bool ind_license_EmptyQ() __attribute__((nothrow));
8497// Find row by key. Return NULL if not found.
8498// func:amc.FDb.ind_license.Find
8499amc::FLicense* ind_license_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
8500// Find row by key. If not found, create and x-reference a new row with with this key.
8501// func:amc.FDb.ind_license.GetOrCreate
8502amc::FLicense& ind_license_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
8503// Return number of items in the hash
8504// func:amc.FDb.ind_license.N
8505i32 ind_license_N() __attribute__((__warn_unused_result__, nothrow, pure));
8506// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
8507// func:amc.FDb.ind_license.InsertMaybe
8508bool ind_license_InsertMaybe(amc::FLicense& row) __attribute__((nothrow));
8509// Remove reference to element from hash index. If element is not in hash, do nothing
8510// func:amc.FDb.ind_license.Remove
8511void ind_license_Remove(amc::FLicense& row) __attribute__((nothrow));
8512// Reserve enough room in the hash for N more elements. Return success code.
8513// func:amc.FDb.ind_license.Reserve
8514void ind_license_Reserve(int n) __attribute__((nothrow));
8515
8516// Return true if index is empty
8517// func:amc.FDb.c_ssimfile_sorted.EmptyQ
8518bool c_ssimfile_sorted_EmptyQ() __attribute__((nothrow));
8519// Look up row by row id. Return NULL if out of range
8520// func:amc.FDb.c_ssimfile_sorted.Find
8521amc::FSsimfile* c_ssimfile_sorted_Find(u32 t) __attribute__((__warn_unused_result__, nothrow));
8522// Return array of pointers
8523// func:amc.FDb.c_ssimfile_sorted.Getary
8524algo::aryptr<amc::FSsimfile*> c_ssimfile_sorted_Getary() __attribute__((nothrow));
8525// Insert pointer to row into array. Row must not already be in array.
8526// If pointer is already in the array, it may be inserted twice.
8527// func:amc.FDb.c_ssimfile_sorted.Insert
8528void c_ssimfile_sorted_Insert(amc::FSsimfile& row) __attribute__((nothrow));
8529// Insert pointer to row in array.
8530// If row is already in the array, do nothing.
8531// Return value: whether element was inserted into array.
8532// func:amc.FDb.c_ssimfile_sorted.InsertMaybe
8533bool c_ssimfile_sorted_InsertMaybe(amc::FSsimfile& row) __attribute__((nothrow));
8534// Return number of items in the pointer array
8535// func:amc.FDb.c_ssimfile_sorted.N
8536i32 c_ssimfile_sorted_N() __attribute__((__warn_unused_result__, nothrow, pure));
8537// Find element using linear scan. If element is in array, remove, otherwise do nothing
8538// func:amc.FDb.c_ssimfile_sorted.Remove
8539void c_ssimfile_sorted_Remove(amc::FSsimfile& row) __attribute__((nothrow));
8540// Empty the index. (The rows are not deleted)
8541// func:amc.FDb.c_ssimfile_sorted.RemoveAll
8542void c_ssimfile_sorted_RemoveAll() __attribute__((nothrow));
8543// Reserve space in index for N more elements;
8544// func:amc.FDb.c_ssimfile_sorted.Reserve
8545void c_ssimfile_sorted_Reserve(u32 n) __attribute__((nothrow));
8546// Return reference without bounds checking
8547// func:amc.FDb.c_ssimfile_sorted.qFind
8548amc::FSsimfile& c_ssimfile_sorted_qFind(u32 idx) __attribute__((nothrow));
8549// True if row is in any ptrary instance
8550// func:amc.FDb.c_ssimfile_sorted.InAryQ
8551bool c_ssimfile_sorted_InAryQ(amc::FSsimfile& row) __attribute__((nothrow));
8552// Reference to last element without bounds checking
8553// func:amc.FDb.c_ssimfile_sorted.qLast
8554amc::FSsimfile& c_ssimfile_sorted_qLast() __attribute__((nothrow));
8555
8556// Return true if index is empty
8557// func:amc.FDb.zd_ssimfile_todo.EmptyQ
8558bool zd_ssimfile_todo_EmptyQ() __attribute__((__warn_unused_result__, nothrow, pure));
8559// If index empty, return NULL. Otherwise return pointer to first element in index
8560// func:amc.FDb.zd_ssimfile_todo.First
8561amc::FSsimfile* zd_ssimfile_todo_First() __attribute__((__warn_unused_result__, nothrow, pure));
8562// Return true if row is in the linked list, false otherwise
8563// func:amc.FDb.zd_ssimfile_todo.InLlistQ
8564bool zd_ssimfile_todo_InLlistQ(amc::FSsimfile& row) __attribute__((__warn_unused_result__, nothrow));
8565// Insert row into linked list. If row is already in linked list, do nothing.
8566// func:amc.FDb.zd_ssimfile_todo.Insert
8567void zd_ssimfile_todo_Insert(amc::FSsimfile& row) __attribute__((nothrow));
8568// If index empty, return NULL. Otherwise return pointer to last element in index
8569// func:amc.FDb.zd_ssimfile_todo.Last
8570amc::FSsimfile* zd_ssimfile_todo_Last() __attribute__((__warn_unused_result__, nothrow, pure));
8571// Return number of items in the linked list
8572// func:amc.FDb.zd_ssimfile_todo.N
8573i32 zd_ssimfile_todo_N() __attribute__((__warn_unused_result__, nothrow, pure));
8574// Return pointer to next element in the list
8575// func:amc.FDb.zd_ssimfile_todo.Next
8576amc::FSsimfile* zd_ssimfile_todo_Next(amc::FSsimfile &row) __attribute__((__warn_unused_result__, nothrow));
8577// Return pointer to previous element in the list
8578// func:amc.FDb.zd_ssimfile_todo.Prev
8579amc::FSsimfile* zd_ssimfile_todo_Prev(amc::FSsimfile &row) __attribute__((__warn_unused_result__, nothrow));
8580// Remove element from index. If element is not in index, do nothing.
8581// func:amc.FDb.zd_ssimfile_todo.Remove
8582void zd_ssimfile_todo_Remove(amc::FSsimfile& row) __attribute__((nothrow));
8583// Empty the index. (The rows are not deleted)
8584// func:amc.FDb.zd_ssimfile_todo.RemoveAll
8585void zd_ssimfile_todo_RemoveAll() __attribute__((nothrow));
8586// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
8587// func:amc.FDb.zd_ssimfile_todo.RemoveFirst
8588amc::FSsimfile* zd_ssimfile_todo_RemoveFirst() __attribute__((nothrow));
8589// Return reference to last element in the index. No bounds checking.
8590// func:amc.FDb.zd_ssimfile_todo.qLast
8591amc::FSsimfile& zd_ssimfile_todo_qLast() __attribute__((__warn_unused_result__, nothrow));
8592
8593// Allocate memory for new default row.
8594// If out of memory, process is killed.
8595// func:amc.FDb.cfast.Alloc
8596amc::FCfast& cfast_Alloc() __attribute__((__warn_unused_result__, nothrow));
8597// Allocate memory for new element. If out of memory, return NULL.
8598// func:amc.FDb.cfast.AllocMaybe
8599amc::FCfast* cfast_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8600// Create new row from struct.
8601// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8602// func:amc.FDb.cfast.InsertMaybe
8603amc::FCfast* cfast_InsertMaybe(const dmmeta::Cfast &value) __attribute__((nothrow));
8604// Allocate space for one element. If no memory available, return NULL.
8605// func:amc.FDb.cfast.AllocMem
8606void* cfast_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8607// Return true if index is empty
8608// func:amc.FDb.cfast.EmptyQ
8609bool cfast_EmptyQ() __attribute__((nothrow, pure));
8610// Look up row by row id. Return NULL if out of range
8611// func:amc.FDb.cfast.Find
8612amc::FCfast* cfast_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8613// Return pointer to last element of array, or NULL if array is empty
8614// func:amc.FDb.cfast.Last
8615amc::FCfast* cfast_Last() __attribute__((nothrow, pure));
8616// Return number of items in the pool
8617// func:amc.FDb.cfast.N
8618i32 cfast_N() __attribute__((__warn_unused_result__, nothrow, pure));
8619// Remove all elements from Lary
8620// func:amc.FDb.cfast.RemoveAll
8621void cfast_RemoveAll() __attribute__((nothrow));
8622// Delete last element of array. Do nothing if array is empty.
8623// func:amc.FDb.cfast.RemoveLast
8624void cfast_RemoveLast() __attribute__((nothrow));
8625// 'quick' Access row by row id. No bounds checking.
8626// func:amc.FDb.cfast.qFind
8627amc::FCfast& cfast_qFind(u64 t) __attribute__((nothrow, pure));
8628// Insert row into all appropriate indices. If error occurs, store error
8629// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8630// func:amc.FDb.cfast.XrefMaybe
8631bool cfast_XrefMaybe(amc::FCfast &row);
8632
8633// Allocate memory for new default row.
8634// If out of memory, process is killed.
8635// func:amc.FDb.ffast.Alloc
8636amc::FFfast& ffast_Alloc() __attribute__((__warn_unused_result__, nothrow));
8637// Allocate memory for new element. If out of memory, return NULL.
8638// func:amc.FDb.ffast.AllocMaybe
8639amc::FFfast* ffast_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8640// Create new row from struct.
8641// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8642// func:amc.FDb.ffast.InsertMaybe
8643amc::FFfast* ffast_InsertMaybe(const dmmeta::Ffast &value) __attribute__((nothrow));
8644// Allocate space for one element. If no memory available, return NULL.
8645// func:amc.FDb.ffast.AllocMem
8646void* ffast_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8647// Return true if index is empty
8648// func:amc.FDb.ffast.EmptyQ
8649bool ffast_EmptyQ() __attribute__((nothrow, pure));
8650// Look up row by row id. Return NULL if out of range
8651// func:amc.FDb.ffast.Find
8652amc::FFfast* ffast_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8653// Return pointer to last element of array, or NULL if array is empty
8654// func:amc.FDb.ffast.Last
8655amc::FFfast* ffast_Last() __attribute__((nothrow, pure));
8656// Return number of items in the pool
8657// func:amc.FDb.ffast.N
8658i32 ffast_N() __attribute__((__warn_unused_result__, nothrow, pure));
8659// Remove all elements from Lary
8660// func:amc.FDb.ffast.RemoveAll
8661void ffast_RemoveAll() __attribute__((nothrow));
8662// Delete last element of array. Do nothing if array is empty.
8663// func:amc.FDb.ffast.RemoveLast
8664void ffast_RemoveLast() __attribute__((nothrow));
8665// 'quick' Access row by row id. No bounds checking.
8666// func:amc.FDb.ffast.qFind
8667amc::FFfast& ffast_qFind(u64 t) __attribute__((nothrow, pure));
8668// Insert row into all appropriate indices. If error occurs, store error
8669// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8670// func:amc.FDb.ffast.XrefMaybe
8671bool ffast_XrefMaybe(amc::FFfast &row);
8672
8673// Allocate memory for new default row.
8674// If out of memory, process is killed.
8675// func:amc.FDb.pmaskfld_member.Alloc
8676amc::FPmaskfldMember& pmaskfld_member_Alloc() __attribute__((__warn_unused_result__, nothrow));
8677// Allocate memory for new element. If out of memory, return NULL.
8678// func:amc.FDb.pmaskfld_member.AllocMaybe
8679amc::FPmaskfldMember* pmaskfld_member_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8680// Create new row from struct.
8681// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8682// func:amc.FDb.pmaskfld_member.InsertMaybe
8683amc::FPmaskfldMember* pmaskfld_member_InsertMaybe(const dmmeta::PmaskfldMember &value) __attribute__((nothrow));
8684// Allocate space for one element. If no memory available, return NULL.
8685// func:amc.FDb.pmaskfld_member.AllocMem
8686void* pmaskfld_member_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8687// Return true if index is empty
8688// func:amc.FDb.pmaskfld_member.EmptyQ
8689bool pmaskfld_member_EmptyQ() __attribute__((nothrow, pure));
8690// Look up row by row id. Return NULL if out of range
8691// func:amc.FDb.pmaskfld_member.Find
8692amc::FPmaskfldMember* pmaskfld_member_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8693// Return pointer to last element of array, or NULL if array is empty
8694// func:amc.FDb.pmaskfld_member.Last
8695amc::FPmaskfldMember* pmaskfld_member_Last() __attribute__((nothrow, pure));
8696// Return number of items in the pool
8697// func:amc.FDb.pmaskfld_member.N
8698i32 pmaskfld_member_N() __attribute__((__warn_unused_result__, nothrow, pure));
8699// Remove all elements from Lary
8700// func:amc.FDb.pmaskfld_member.RemoveAll
8701void pmaskfld_member_RemoveAll() __attribute__((nothrow));
8702// Delete last element of array. Do nothing if array is empty.
8703// func:amc.FDb.pmaskfld_member.RemoveLast
8704void pmaskfld_member_RemoveLast() __attribute__((nothrow));
8705// 'quick' Access row by row id. No bounds checking.
8706// func:amc.FDb.pmaskfld_member.qFind
8707amc::FPmaskfldMember& pmaskfld_member_qFind(u64 t) __attribute__((nothrow, pure));
8708// Insert row into all appropriate indices. If error occurs, store error
8709// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8710// func:amc.FDb.pmaskfld_member.XrefMaybe
8711bool pmaskfld_member_XrefMaybe(amc::FPmaskfldMember &row);
8712
8713// Return true if hash is empty
8714// func:amc.FDb.ind_pmaskfld.EmptyQ
8715bool ind_pmaskfld_EmptyQ() __attribute__((nothrow));
8716// Find row by key. Return NULL if not found.
8717// func:amc.FDb.ind_pmaskfld.Find
8718amc::FPmaskfld* ind_pmaskfld_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
8719// Find row by key. If not found, create and x-reference a new row with with this key.
8720// func:amc.FDb.ind_pmaskfld.GetOrCreate
8721amc::FPmaskfld& ind_pmaskfld_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
8722// Return number of items in the hash
8723// func:amc.FDb.ind_pmaskfld.N
8724i32 ind_pmaskfld_N() __attribute__((__warn_unused_result__, nothrow, pure));
8725// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
8726// func:amc.FDb.ind_pmaskfld.InsertMaybe
8727bool ind_pmaskfld_InsertMaybe(amc::FPmaskfld& row) __attribute__((nothrow));
8728// Remove reference to element from hash index. If element is not in hash, do nothing
8729// func:amc.FDb.ind_pmaskfld.Remove
8730void ind_pmaskfld_Remove(amc::FPmaskfld& row) __attribute__((nothrow));
8731// Reserve enough room in the hash for N more elements. Return success code.
8732// func:amc.FDb.ind_pmaskfld.Reserve
8733void ind_pmaskfld_Reserve(int n) __attribute__((nothrow));
8734
8735// Allocate memory for new default row.
8736// If out of memory, process is killed.
8737// func:amc.FDb.ssimsort.Alloc
8738amc::FSsimsort& ssimsort_Alloc() __attribute__((__warn_unused_result__, nothrow));
8739// Allocate memory for new element. If out of memory, return NULL.
8740// func:amc.FDb.ssimsort.AllocMaybe
8741amc::FSsimsort* ssimsort_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
8742// Create new row from struct.
8743// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
8744// func:amc.FDb.ssimsort.InsertMaybe
8745amc::FSsimsort* ssimsort_InsertMaybe(const dmmeta::Ssimsort &value) __attribute__((nothrow));
8746// Allocate space for one element. If no memory available, return NULL.
8747// func:amc.FDb.ssimsort.AllocMem
8748void* ssimsort_AllocMem() __attribute__((__warn_unused_result__, nothrow));
8749// Return true if index is empty
8750// func:amc.FDb.ssimsort.EmptyQ
8751bool ssimsort_EmptyQ() __attribute__((nothrow, pure));
8752// Look up row by row id. Return NULL if out of range
8753// func:amc.FDb.ssimsort.Find
8754amc::FSsimsort* ssimsort_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
8755// Return pointer to last element of array, or NULL if array is empty
8756// func:amc.FDb.ssimsort.Last
8757amc::FSsimsort* ssimsort_Last() __attribute__((nothrow, pure));
8758// Return number of items in the pool
8759// func:amc.FDb.ssimsort.N
8760i32 ssimsort_N() __attribute__((__warn_unused_result__, nothrow, pure));
8761// Remove all elements from Lary
8762// func:amc.FDb.ssimsort.RemoveAll
8763void ssimsort_RemoveAll() __attribute__((nothrow));
8764// Delete last element of array. Do nothing if array is empty.
8765// func:amc.FDb.ssimsort.RemoveLast
8766void ssimsort_RemoveLast() __attribute__((nothrow));
8767// 'quick' Access row by row id. No bounds checking.
8768// func:amc.FDb.ssimsort.qFind
8769amc::FSsimsort& ssimsort_qFind(u64 t) __attribute__((nothrow, pure));
8770// Insert row into all appropriate indices. If error occurs, store error
8771// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
8772// func:amc.FDb.ssimsort.XrefMaybe
8773bool ssimsort_XrefMaybe(amc::FSsimsort &row);
8774
8775// cursor points to valid item
8776// func:amc.FDb.fsort_curs.Reset
8777void _db_fsort_curs_Reset(_db_fsort_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8778// cursor points to valid item
8779// func:amc.FDb.fsort_curs.ValidQ
8780bool _db_fsort_curs_ValidQ(_db_fsort_curs &curs) __attribute__((nothrow));
8781// proceed to next item
8782// func:amc.FDb.fsort_curs.Next
8783void _db_fsort_curs_Next(_db_fsort_curs &curs) __attribute__((nothrow));
8784// item access
8785// func:amc.FDb.fsort_curs.Access
8786amc::FFsort& _db_fsort_curs_Access(_db_fsort_curs &curs) __attribute__((nothrow));
8787// cursor points to valid item
8788// func:amc.FDb.dispfilter_curs.Reset
8789void _db_dispfilter_curs_Reset(_db_dispfilter_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8790// cursor points to valid item
8791// func:amc.FDb.dispfilter_curs.ValidQ
8792bool _db_dispfilter_curs_ValidQ(_db_dispfilter_curs &curs) __attribute__((nothrow));
8793// proceed to next item
8794// func:amc.FDb.dispfilter_curs.Next
8795void _db_dispfilter_curs_Next(_db_dispfilter_curs &curs) __attribute__((nothrow));
8796// item access
8797// func:amc.FDb.dispfilter_curs.Access
8798amc::FDispfilter& _db_dispfilter_curs_Access(_db_dispfilter_curs &curs) __attribute__((nothrow));
8799// cursor points to valid item
8800// func:amc.FDb.usertracefld_curs.Reset
8801void _db_usertracefld_curs_Reset(_db_usertracefld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8802// cursor points to valid item
8803// func:amc.FDb.usertracefld_curs.ValidQ
8804bool _db_usertracefld_curs_ValidQ(_db_usertracefld_curs &curs) __attribute__((nothrow));
8805// proceed to next item
8806// func:amc.FDb.usertracefld_curs.Next
8807void _db_usertracefld_curs_Next(_db_usertracefld_curs &curs) __attribute__((nothrow));
8808// item access
8809// func:amc.FDb.usertracefld_curs.Access
8810amc::FUsertracefld& _db_usertracefld_curs_Access(_db_usertracefld_curs &curs) __attribute__((nothrow));
8811// cursor points to valid item
8812// func:amc.FDb.cfmt_curs.Reset
8813void _db_cfmt_curs_Reset(_db_cfmt_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8814// cursor points to valid item
8815// func:amc.FDb.cfmt_curs.ValidQ
8816bool _db_cfmt_curs_ValidQ(_db_cfmt_curs &curs) __attribute__((nothrow));
8817// proceed to next item
8818// func:amc.FDb.cfmt_curs.Next
8819void _db_cfmt_curs_Next(_db_cfmt_curs &curs) __attribute__((nothrow));
8820// item access
8821// func:amc.FDb.cfmt_curs.Access
8822amc::FCfmt& _db_cfmt_curs_Access(_db_cfmt_curs &curs) __attribute__((nothrow));
8823// cursor points to valid item
8824// func:amc.FDb.dispatch_curs.Reset
8825void _db_dispatch_curs_Reset(_db_dispatch_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8826// cursor points to valid item
8827// func:amc.FDb.dispatch_curs.ValidQ
8828bool _db_dispatch_curs_ValidQ(_db_dispatch_curs &curs) __attribute__((nothrow));
8829// proceed to next item
8830// func:amc.FDb.dispatch_curs.Next
8831void _db_dispatch_curs_Next(_db_dispatch_curs &curs) __attribute__((nothrow));
8832// item access
8833// func:amc.FDb.dispatch_curs.Access
8834amc::FDispatch& _db_dispatch_curs_Access(_db_dispatch_curs &curs) __attribute__((nothrow));
8835// cursor points to valid item
8836// func:amc.FDb.dispatch_msg_curs.Reset
8837void _db_dispatch_msg_curs_Reset(_db_dispatch_msg_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8838// cursor points to valid item
8839// func:amc.FDb.dispatch_msg_curs.ValidQ
8840bool _db_dispatch_msg_curs_ValidQ(_db_dispatch_msg_curs &curs) __attribute__((nothrow));
8841// proceed to next item
8842// func:amc.FDb.dispatch_msg_curs.Next
8843void _db_dispatch_msg_curs_Next(_db_dispatch_msg_curs &curs) __attribute__((nothrow));
8844// item access
8845// func:amc.FDb.dispatch_msg_curs.Access
8846amc::FDispatchmsg& _db_dispatch_msg_curs_Access(_db_dispatch_msg_curs &curs) __attribute__((nothrow));
8847// cursor points to valid item
8848// func:amc.FDb.ctype_curs.Reset
8849void _db_ctype_curs_Reset(_db_ctype_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8850// cursor points to valid item
8851// func:amc.FDb.ctype_curs.ValidQ
8852bool _db_ctype_curs_ValidQ(_db_ctype_curs &curs) __attribute__((nothrow));
8853// proceed to next item
8854// func:amc.FDb.ctype_curs.Next
8855void _db_ctype_curs_Next(_db_ctype_curs &curs) __attribute__((nothrow));
8856// item access
8857// func:amc.FDb.ctype_curs.Access
8858amc::FCtype& _db_ctype_curs_Access(_db_ctype_curs &curs) __attribute__((nothrow));
8859// cursor points to valid item
8860// func:amc.FDb.field_curs.Reset
8861void _db_field_curs_Reset(_db_field_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8862// cursor points to valid item
8863// func:amc.FDb.field_curs.ValidQ
8864bool _db_field_curs_ValidQ(_db_field_curs &curs) __attribute__((nothrow));
8865// proceed to next item
8866// func:amc.FDb.field_curs.Next
8867void _db_field_curs_Next(_db_field_curs &curs) __attribute__((nothrow));
8868// item access
8869// func:amc.FDb.field_curs.Access
8870amc::FField& _db_field_curs_Access(_db_field_curs &curs) __attribute__((nothrow));
8871// cursor points to valid item
8872// func:amc.FDb.basepool_curs.Reset
8873void _db_basepool_curs_Reset(_db_basepool_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8874// cursor points to valid item
8875// func:amc.FDb.basepool_curs.ValidQ
8876bool _db_basepool_curs_ValidQ(_db_basepool_curs &curs) __attribute__((nothrow));
8877// proceed to next item
8878// func:amc.FDb.basepool_curs.Next
8879void _db_basepool_curs_Next(_db_basepool_curs &curs) __attribute__((nothrow));
8880// item access
8881// func:amc.FDb.basepool_curs.Access
8882amc::FBasepool& _db_basepool_curs_Access(_db_basepool_curs &curs) __attribute__((nothrow));
8883// cursor points to valid item
8884// func:amc.FDb.llist_curs.Reset
8885void _db_llist_curs_Reset(_db_llist_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8886// cursor points to valid item
8887// func:amc.FDb.llist_curs.ValidQ
8888bool _db_llist_curs_ValidQ(_db_llist_curs &curs) __attribute__((nothrow));
8889// proceed to next item
8890// func:amc.FDb.llist_curs.Next
8891void _db_llist_curs_Next(_db_llist_curs &curs) __attribute__((nothrow));
8892// item access
8893// func:amc.FDb.llist_curs.Access
8894amc::FLlist& _db_llist_curs_Access(_db_llist_curs &curs) __attribute__((nothrow));
8895// cursor points to valid item
8896// func:amc.FDb.anonfld_curs.Reset
8897void _db_anonfld_curs_Reset(_db_anonfld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8898// cursor points to valid item
8899// func:amc.FDb.anonfld_curs.ValidQ
8900bool _db_anonfld_curs_ValidQ(_db_anonfld_curs &curs) __attribute__((nothrow));
8901// proceed to next item
8902// func:amc.FDb.anonfld_curs.Next
8903void _db_anonfld_curs_Next(_db_anonfld_curs &curs) __attribute__((nothrow));
8904// item access
8905// func:amc.FDb.anonfld_curs.Access
8906amc::FAnonfld& _db_anonfld_curs_Access(_db_anonfld_curs &curs) __attribute__((nothrow));
8907// cursor points to valid item
8908// func:amc.FDb.xref_curs.Reset
8909void _db_xref_curs_Reset(_db_xref_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8910// cursor points to valid item
8911// func:amc.FDb.xref_curs.ValidQ
8912bool _db_xref_curs_ValidQ(_db_xref_curs &curs) __attribute__((nothrow));
8913// proceed to next item
8914// func:amc.FDb.xref_curs.Next
8915void _db_xref_curs_Next(_db_xref_curs &curs) __attribute__((nothrow));
8916// item access
8917// func:amc.FDb.xref_curs.Access
8918amc::FXref& _db_xref_curs_Access(_db_xref_curs &curs) __attribute__((nothrow));
8919// cursor points to valid item
8920// func:amc.FDb.ns_curs.Reset
8921void _db_ns_curs_Reset(_db_ns_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8922// cursor points to valid item
8923// func:amc.FDb.ns_curs.ValidQ
8924bool _db_ns_curs_ValidQ(_db_ns_curs &curs) __attribute__((nothrow));
8925// proceed to next item
8926// func:amc.FDb.ns_curs.Next
8927void _db_ns_curs_Next(_db_ns_curs &curs) __attribute__((nothrow));
8928// item access
8929// func:amc.FDb.ns_curs.Access
8930amc::FNs& _db_ns_curs_Access(_db_ns_curs &curs) __attribute__((nothrow));
8931// cursor points to valid item
8932// func:amc.FDb.pnew_curs.Reset
8933void _db_pnew_curs_Reset(_db_pnew_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8934// cursor points to valid item
8935// func:amc.FDb.pnew_curs.ValidQ
8936bool _db_pnew_curs_ValidQ(_db_pnew_curs &curs) __attribute__((nothrow));
8937// proceed to next item
8938// func:amc.FDb.pnew_curs.Next
8939void _db_pnew_curs_Next(_db_pnew_curs &curs) __attribute__((nothrow));
8940// item access
8941// func:amc.FDb.pnew_curs.Access
8942amc::FPnew& _db_pnew_curs_Access(_db_pnew_curs &curs) __attribute__((nothrow));
8943// cursor points to valid item
8944// func:amc.FDb.fldoffset_curs.Reset
8945void _db_fldoffset_curs_Reset(_db_fldoffset_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8946// cursor points to valid item
8947// func:amc.FDb.fldoffset_curs.ValidQ
8948bool _db_fldoffset_curs_ValidQ(_db_fldoffset_curs &curs) __attribute__((nothrow));
8949// proceed to next item
8950// func:amc.FDb.fldoffset_curs.Next
8951void _db_fldoffset_curs_Next(_db_fldoffset_curs &curs) __attribute__((nothrow));
8952// item access
8953// func:amc.FDb.fldoffset_curs.Access
8954amc::FFldoffset& _db_fldoffset_curs_Access(_db_fldoffset_curs &curs) __attribute__((nothrow));
8955// cursor points to valid item
8956// func:amc.FDb.typefld_curs.Reset
8957void _db_typefld_curs_Reset(_db_typefld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8958// cursor points to valid item
8959// func:amc.FDb.typefld_curs.ValidQ
8960bool _db_typefld_curs_ValidQ(_db_typefld_curs &curs) __attribute__((nothrow));
8961// proceed to next item
8962// func:amc.FDb.typefld_curs.Next
8963void _db_typefld_curs_Next(_db_typefld_curs &curs) __attribute__((nothrow));
8964// item access
8965// func:amc.FDb.typefld_curs.Access
8966amc::FTypefld& _db_typefld_curs_Access(_db_typefld_curs &curs) __attribute__((nothrow));
8967// cursor points to valid item
8968// func:amc.FDb.lenfld_curs.Reset
8969void _db_lenfld_curs_Reset(_db_lenfld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8970// cursor points to valid item
8971// func:amc.FDb.lenfld_curs.ValidQ
8972bool _db_lenfld_curs_ValidQ(_db_lenfld_curs &curs) __attribute__((nothrow));
8973// proceed to next item
8974// func:amc.FDb.lenfld_curs.Next
8975void _db_lenfld_curs_Next(_db_lenfld_curs &curs) __attribute__((nothrow));
8976// item access
8977// func:amc.FDb.lenfld_curs.Access
8978amc::FLenfld& _db_lenfld_curs_Access(_db_lenfld_curs &curs) __attribute__((nothrow));
8979// cursor points to valid item
8980// func:amc.FDb.bltin_curs.Reset
8981void _db_bltin_curs_Reset(_db_bltin_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8982// cursor points to valid item
8983// func:amc.FDb.bltin_curs.ValidQ
8984bool _db_bltin_curs_ValidQ(_db_bltin_curs &curs) __attribute__((nothrow));
8985// proceed to next item
8986// func:amc.FDb.bltin_curs.Next
8987void _db_bltin_curs_Next(_db_bltin_curs &curs) __attribute__((nothrow));
8988// item access
8989// func:amc.FDb.bltin_curs.Access
8990amc::FBltin& _db_bltin_curs_Access(_db_bltin_curs &curs) __attribute__((nothrow));
8991// cursor points to valid item
8992// func:amc.FDb.static_tuple_curs.Reset
8993void _db_static_tuple_curs_Reset(_db_static_tuple_curs &curs, amc::FDb &parent) __attribute__((nothrow));
8994// cursor points to valid item
8995// func:amc.FDb.static_tuple_curs.ValidQ
8996bool _db_static_tuple_curs_ValidQ(_db_static_tuple_curs &curs) __attribute__((nothrow));
8997// proceed to next item
8998// func:amc.FDb.static_tuple_curs.Next
8999void _db_static_tuple_curs_Next(_db_static_tuple_curs &curs) __attribute__((nothrow));
9000// item access
9001// func:amc.FDb.static_tuple_curs.Access
9002amc::FStatictuple& _db_static_tuple_curs_Access(_db_static_tuple_curs &curs) __attribute__((nothrow));
9003// cursor points to valid item
9004// func:amc.FDb.msgtype_curs.Reset
9005void _db_msgtype_curs_Reset(_db_msgtype_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9006// cursor points to valid item
9007// func:amc.FDb.msgtype_curs.ValidQ
9008bool _db_msgtype_curs_ValidQ(_db_msgtype_curs &curs) __attribute__((nothrow));
9009// proceed to next item
9010// func:amc.FDb.msgtype_curs.Next
9011void _db_msgtype_curs_Next(_db_msgtype_curs &curs) __attribute__((nothrow));
9012// item access
9013// func:amc.FDb.msgtype_curs.Access
9014amc::FMsgtype& _db_msgtype_curs_Access(_db_msgtype_curs &curs) __attribute__((nothrow));
9015// cursor points to valid item
9016// func:amc.FDb.gconst_curs.Reset
9017void _db_gconst_curs_Reset(_db_gconst_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9018// cursor points to valid item
9019// func:amc.FDb.gconst_curs.ValidQ
9020bool _db_gconst_curs_ValidQ(_db_gconst_curs &curs) __attribute__((nothrow));
9021// proceed to next item
9022// func:amc.FDb.gconst_curs.Next
9023void _db_gconst_curs_Next(_db_gconst_curs &curs) __attribute__((nothrow));
9024// item access
9025// func:amc.FDb.gconst_curs.Access
9026amc::FGconst& _db_gconst_curs_Access(_db_gconst_curs &curs) __attribute__((nothrow));
9027// cursor points to valid item
9028// func:amc.FDb.gstatic_curs.Reset
9029void _db_gstatic_curs_Reset(_db_gstatic_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9030// cursor points to valid item
9031// func:amc.FDb.gstatic_curs.ValidQ
9032bool _db_gstatic_curs_ValidQ(_db_gstatic_curs &curs) __attribute__((nothrow));
9033// proceed to next item
9034// func:amc.FDb.gstatic_curs.Next
9035void _db_gstatic_curs_Next(_db_gstatic_curs &curs) __attribute__((nothrow));
9036// item access
9037// func:amc.FDb.gstatic_curs.Access
9038amc::FGstatic& _db_gstatic_curs_Access(_db_gstatic_curs &curs) __attribute__((nothrow));
9039// cursor points to valid item
9040// func:amc.FDb.thash_curs.Reset
9041void _db_thash_curs_Reset(_db_thash_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9042// cursor points to valid item
9043// func:amc.FDb.thash_curs.ValidQ
9044bool _db_thash_curs_ValidQ(_db_thash_curs &curs) __attribute__((nothrow));
9045// proceed to next item
9046// func:amc.FDb.thash_curs.Next
9047void _db_thash_curs_Next(_db_thash_curs &curs) __attribute__((nothrow));
9048// item access
9049// func:amc.FDb.thash_curs.Access
9050amc::FThash& _db_thash_curs_Access(_db_thash_curs &curs) __attribute__((nothrow));
9051// cursor points to valid item
9052// func:amc.FDb.func_curs.Reset
9053void _db_func_curs_Reset(_db_func_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9054// cursor points to valid item
9055// func:amc.FDb.func_curs.ValidQ
9056bool _db_func_curs_ValidQ(_db_func_curs &curs) __attribute__((nothrow));
9057// proceed to next item
9058// func:amc.FDb.func_curs.Next
9059void _db_func_curs_Next(_db_func_curs &curs) __attribute__((nothrow));
9060// item access
9061// func:amc.FDb.func_curs.Access
9062amc::FFunc& _db_func_curs_Access(_db_func_curs &curs) __attribute__((nothrow));
9063// cursor points to valid item
9064// func:amc.FDb.smallstr_curs.Reset
9065void _db_smallstr_curs_Reset(_db_smallstr_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9066// cursor points to valid item
9067// func:amc.FDb.smallstr_curs.ValidQ
9068bool _db_smallstr_curs_ValidQ(_db_smallstr_curs &curs) __attribute__((nothrow));
9069// proceed to next item
9070// func:amc.FDb.smallstr_curs.Next
9071void _db_smallstr_curs_Next(_db_smallstr_curs &curs) __attribute__((nothrow));
9072// item access
9073// func:amc.FDb.smallstr_curs.Access
9074amc::FSmallstr& _db_smallstr_curs_Access(_db_smallstr_curs &curs) __attribute__((nothrow));
9075// cursor points to valid item
9076// func:amc.FDb.numstr_curs.Reset
9077void _db_numstr_curs_Reset(_db_numstr_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9078// cursor points to valid item
9079// func:amc.FDb.numstr_curs.ValidQ
9080bool _db_numstr_curs_ValidQ(_db_numstr_curs &curs) __attribute__((nothrow));
9081// proceed to next item
9082// func:amc.FDb.numstr_curs.Next
9083void _db_numstr_curs_Next(_db_numstr_curs &curs) __attribute__((nothrow));
9084// item access
9085// func:amc.FDb.numstr_curs.Access
9086amc::FNumstr& _db_numstr_curs_Access(_db_numstr_curs &curs) __attribute__((nothrow));
9087// cursor points to valid item
9088// func:amc.FDb.main_curs.Reset
9089void _db_main_curs_Reset(_db_main_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9090// cursor points to valid item
9091// func:amc.FDb.main_curs.ValidQ
9092bool _db_main_curs_ValidQ(_db_main_curs &curs) __attribute__((nothrow));
9093// proceed to next item
9094// func:amc.FDb.main_curs.Next
9095void _db_main_curs_Next(_db_main_curs &curs) __attribute__((nothrow));
9096// item access
9097// func:amc.FDb.main_curs.Access
9098amc::FMain& _db_main_curs_Access(_db_main_curs &curs) __attribute__((nothrow));
9099// cursor points to valid item
9100// func:amc.FDb.reftype_curs.Reset
9101void _db_reftype_curs_Reset(_db_reftype_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9102// cursor points to valid item
9103// func:amc.FDb.reftype_curs.ValidQ
9104bool _db_reftype_curs_ValidQ(_db_reftype_curs &curs) __attribute__((nothrow));
9105// proceed to next item
9106// func:amc.FDb.reftype_curs.Next
9107void _db_reftype_curs_Next(_db_reftype_curs &curs) __attribute__((nothrow));
9108// item access
9109// func:amc.FDb.reftype_curs.Access
9110amc::FReftype& _db_reftype_curs_Access(_db_reftype_curs &curs) __attribute__((nothrow));
9111// cursor points to valid item
9112// func:amc.FDb.cpptype_curs.Reset
9113void _db_cpptype_curs_Reset(_db_cpptype_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9114// cursor points to valid item
9115// func:amc.FDb.cpptype_curs.ValidQ
9116bool _db_cpptype_curs_ValidQ(_db_cpptype_curs &curs) __attribute__((nothrow));
9117// proceed to next item
9118// func:amc.FDb.cpptype_curs.Next
9119void _db_cpptype_curs_Next(_db_cpptype_curs &curs) __attribute__((nothrow));
9120// item access
9121// func:amc.FDb.cpptype_curs.Access
9122amc::FCpptype& _db_cpptype_curs_Access(_db_cpptype_curs &curs) __attribute__((nothrow));
9123// cursor points to valid item
9124// func:amc.FDb.inlary_curs.Reset
9125void _db_inlary_curs_Reset(_db_inlary_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9126// cursor points to valid item
9127// func:amc.FDb.inlary_curs.ValidQ
9128bool _db_inlary_curs_ValidQ(_db_inlary_curs &curs) __attribute__((nothrow));
9129// proceed to next item
9130// func:amc.FDb.inlary_curs.Next
9131void _db_inlary_curs_Next(_db_inlary_curs &curs) __attribute__((nothrow));
9132// item access
9133// func:amc.FDb.inlary_curs.Access
9134amc::FInlary& _db_inlary_curs_Access(_db_inlary_curs &curs) __attribute__((nothrow));
9135// cursor points to valid item
9136// func:amc.FDb.tary_curs.Reset
9137void _db_tary_curs_Reset(_db_tary_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9138// cursor points to valid item
9139// func:amc.FDb.tary_curs.ValidQ
9140bool _db_tary_curs_ValidQ(_db_tary_curs &curs) __attribute__((nothrow));
9141// proceed to next item
9142// func:amc.FDb.tary_curs.Next
9143void _db_tary_curs_Next(_db_tary_curs &curs) __attribute__((nothrow));
9144// item access
9145// func:amc.FDb.tary_curs.Access
9146amc::FTary& _db_tary_curs_Access(_db_tary_curs &curs) __attribute__((nothrow));
9147// cursor points to valid item
9148// func:amc.FDb.cppfunc_curs.Reset
9149void _db_cppfunc_curs_Reset(_db_cppfunc_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9150// cursor points to valid item
9151// func:amc.FDb.cppfunc_curs.ValidQ
9152bool _db_cppfunc_curs_ValidQ(_db_cppfunc_curs &curs) __attribute__((nothrow));
9153// proceed to next item
9154// func:amc.FDb.cppfunc_curs.Next
9155void _db_cppfunc_curs_Next(_db_cppfunc_curs &curs) __attribute__((nothrow));
9156// item access
9157// func:amc.FDb.cppfunc_curs.Access
9158amc::FCppfunc& _db_cppfunc_curs_Access(_db_cppfunc_curs &curs) __attribute__((nothrow));
9159// cursor points to valid item
9160// func:amc.FDb.rowid_curs.Reset
9161void _db_rowid_curs_Reset(_db_rowid_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9162// cursor points to valid item
9163// func:amc.FDb.rowid_curs.ValidQ
9164bool _db_rowid_curs_ValidQ(_db_rowid_curs &curs) __attribute__((nothrow));
9165// proceed to next item
9166// func:amc.FDb.rowid_curs.Next
9167void _db_rowid_curs_Next(_db_rowid_curs &curs) __attribute__((nothrow));
9168// item access
9169// func:amc.FDb.rowid_curs.Access
9170amc::FRowid& _db_rowid_curs_Access(_db_rowid_curs &curs) __attribute__((nothrow));
9171// cursor points to valid item
9172// func:amc.FDb.cascdel_curs.Reset
9173void _db_cascdel_curs_Reset(_db_cascdel_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9174// cursor points to valid item
9175// func:amc.FDb.cascdel_curs.ValidQ
9176bool _db_cascdel_curs_ValidQ(_db_cascdel_curs &curs) __attribute__((nothrow));
9177// proceed to next item
9178// func:amc.FDb.cascdel_curs.Next
9179void _db_cascdel_curs_Next(_db_cascdel_curs &curs) __attribute__((nothrow));
9180// item access
9181// func:amc.FDb.cascdel_curs.Access
9182amc::FCascdel& _db_cascdel_curs_Access(_db_cascdel_curs &curs) __attribute__((nothrow));
9183// cursor points to valid item
9184// func:amc.FDb.substr_curs.Reset
9185void _db_substr_curs_Reset(_db_substr_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9186// cursor points to valid item
9187// func:amc.FDb.substr_curs.ValidQ
9188bool _db_substr_curs_ValidQ(_db_substr_curs &curs) __attribute__((nothrow));
9189// proceed to next item
9190// func:amc.FDb.substr_curs.Next
9191void _db_substr_curs_Next(_db_substr_curs &curs) __attribute__((nothrow));
9192// item access
9193// func:amc.FDb.substr_curs.Access
9194amc::FSubstr& _db_substr_curs_Access(_db_substr_curs &curs) __attribute__((nothrow));
9195// cursor points to valid item
9196// func:amc.FDb.bitfld_curs.Reset
9197void _db_bitfld_curs_Reset(_db_bitfld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9198// cursor points to valid item
9199// func:amc.FDb.bitfld_curs.ValidQ
9200bool _db_bitfld_curs_ValidQ(_db_bitfld_curs &curs) __attribute__((nothrow));
9201// proceed to next item
9202// func:amc.FDb.bitfld_curs.Next
9203void _db_bitfld_curs_Next(_db_bitfld_curs &curs) __attribute__((nothrow));
9204// item access
9205// func:amc.FDb.bitfld_curs.Access
9206amc::FBitfld& _db_bitfld_curs_Access(_db_bitfld_curs &curs) __attribute__((nothrow));
9207// cursor points to valid item
9208// func:amc.FDb.ssimfile_curs.Reset
9209void _db_ssimfile_curs_Reset(_db_ssimfile_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9210// cursor points to valid item
9211// func:amc.FDb.ssimfile_curs.ValidQ
9212bool _db_ssimfile_curs_ValidQ(_db_ssimfile_curs &curs) __attribute__((nothrow));
9213// proceed to next item
9214// func:amc.FDb.ssimfile_curs.Next
9215void _db_ssimfile_curs_Next(_db_ssimfile_curs &curs) __attribute__((nothrow));
9216// item access
9217// func:amc.FDb.ssimfile_curs.Access
9218amc::FSsimfile& _db_ssimfile_curs_Access(_db_ssimfile_curs &curs) __attribute__((nothrow));
9219// cursor points to valid item
9220// func:amc.FDb.pack_curs.Reset
9221void _db_pack_curs_Reset(_db_pack_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9222// cursor points to valid item
9223// func:amc.FDb.pack_curs.ValidQ
9224bool _db_pack_curs_ValidQ(_db_pack_curs &curs) __attribute__((nothrow));
9225// proceed to next item
9226// func:amc.FDb.pack_curs.Next
9227void _db_pack_curs_Next(_db_pack_curs &curs) __attribute__((nothrow));
9228// item access
9229// func:amc.FDb.pack_curs.Access
9230amc::FPack& _db_pack_curs_Access(_db_pack_curs &curs) __attribute__((nothrow));
9231// cursor points to valid item
9232// func:amc.FDb.ptrary_curs.Reset
9233void _db_ptrary_curs_Reset(_db_ptrary_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9234// cursor points to valid item
9235// func:amc.FDb.ptrary_curs.ValidQ
9236bool _db_ptrary_curs_ValidQ(_db_ptrary_curs &curs) __attribute__((nothrow));
9237// proceed to next item
9238// func:amc.FDb.ptrary_curs.Next
9239void _db_ptrary_curs_Next(_db_ptrary_curs &curs) __attribute__((nothrow));
9240// item access
9241// func:amc.FDb.ptrary_curs.Access
9242amc::FPtrary& _db_ptrary_curs_Access(_db_ptrary_curs &curs) __attribute__((nothrow));
9243// func:amc.FDb.c_ctype_sorted_curs.Reset
9244void _db_c_ctype_sorted_curs_Reset(_db_c_ctype_sorted_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9245// cursor points to valid item
9246// func:amc.FDb.c_ctype_sorted_curs.ValidQ
9247bool _db_c_ctype_sorted_curs_ValidQ(_db_c_ctype_sorted_curs &curs) __attribute__((nothrow));
9248// proceed to next item
9249// func:amc.FDb.c_ctype_sorted_curs.Next
9250void _db_c_ctype_sorted_curs_Next(_db_c_ctype_sorted_curs &curs) __attribute__((nothrow));
9251// item access
9252// func:amc.FDb.c_ctype_sorted_curs.Access
9253amc::FCtype& _db_c_ctype_sorted_curs_Access(_db_c_ctype_sorted_curs &curs) __attribute__((nothrow));
9254// cursor points to valid item
9255// func:amc.FDb.enumstr_curs.Reset
9256void _db_enumstr_curs_Reset(_db_enumstr_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9257// cursor points to valid item
9258// func:amc.FDb.enumstr_curs.ValidQ
9259bool _db_enumstr_curs_ValidQ(_db_enumstr_curs &curs) __attribute__((nothrow));
9260// proceed to next item
9261// func:amc.FDb.enumstr_curs.Next
9262void _db_enumstr_curs_Next(_db_enumstr_curs &curs) __attribute__((nothrow));
9263// item access
9264// func:amc.FDb.enumstr_curs.Access
9265amc::FEnumstr& _db_enumstr_curs_Access(_db_enumstr_curs &curs) __attribute__((nothrow));
9266// cursor points to valid item
9267// func:amc.FDb.enumstr_len_curs.Reset
9268void _db_enumstr_len_curs_Reset(_db_enumstr_len_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9269// cursor points to valid item
9270// func:amc.FDb.enumstr_len_curs.ValidQ
9271bool _db_enumstr_len_curs_ValidQ(_db_enumstr_len_curs &curs) __attribute__((nothrow));
9272// proceed to next item
9273// func:amc.FDb.enumstr_len_curs.Next
9274void _db_enumstr_len_curs_Next(_db_enumstr_len_curs &curs) __attribute__((nothrow));
9275// item access
9276// func:amc.FDb.enumstr_len_curs.Access
9277amc::FEnumstrLen& _db_enumstr_len_curs_Access(_db_enumstr_len_curs &curs) __attribute__((nothrow));
9278// func:amc.FDb.bh_enumstr_len_curs.Reserve
9279void _db_bh_enumstr_len_curs_Reserve(_db_bh_enumstr_len_curs &curs, int n);
9280// Reset cursor. If HEAP is non-empty, add its top element to CURS.
9281// func:amc.FDb.bh_enumstr_len_curs.Reset
9282void _db_bh_enumstr_len_curs_Reset(_db_bh_enumstr_len_curs &curs, amc::FDb &parent);
9283// Advance cursor.
9284// func:amc.FDb.bh_enumstr_len_curs.Next
9285void _db_bh_enumstr_len_curs_Next(_db_bh_enumstr_len_curs &curs);
9286// Access current element. If not more elements, return NULL
9287// func:amc.FDb.bh_enumstr_len_curs.Access
9288amc::FEnumstrLen& _db_bh_enumstr_len_curs_Access(_db_bh_enumstr_len_curs &curs) __attribute__((nothrow));
9289// Return true if Access() will return non-NULL.
9290// func:amc.FDb.bh_enumstr_len_curs.ValidQ
9291bool _db_bh_enumstr_len_curs_ValidQ(_db_bh_enumstr_len_curs &curs) __attribute__((nothrow));
9292// cursor points to valid item
9293// func:amc.FDb.fbitset_curs.Reset
9294void _db_fbitset_curs_Reset(_db_fbitset_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9295// cursor points to valid item
9296// func:amc.FDb.fbitset_curs.ValidQ
9297bool _db_fbitset_curs_ValidQ(_db_fbitset_curs &curs) __attribute__((nothrow));
9298// proceed to next item
9299// func:amc.FDb.fbitset_curs.Next
9300void _db_fbitset_curs_Next(_db_fbitset_curs &curs) __attribute__((nothrow));
9301// item access
9302// func:amc.FDb.fbitset_curs.Access
9303amc::FFbitset& _db_fbitset_curs_Access(_db_fbitset_curs &curs) __attribute__((nothrow));
9304// cursor points to valid item
9305// func:amc.FDb.fcleanup_curs.Reset
9306void _db_fcleanup_curs_Reset(_db_fcleanup_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9307// cursor points to valid item
9308// func:amc.FDb.fcleanup_curs.ValidQ
9309bool _db_fcleanup_curs_ValidQ(_db_fcleanup_curs &curs) __attribute__((nothrow));
9310// proceed to next item
9311// func:amc.FDb.fcleanup_curs.Next
9312void _db_fcleanup_curs_Next(_db_fcleanup_curs &curs) __attribute__((nothrow));
9313// item access
9314// func:amc.FDb.fcleanup_curs.Access
9315amc::FFcleanup& _db_fcleanup_curs_Access(_db_fcleanup_curs &curs) __attribute__((nothrow));
9316// cursor points to valid item
9317// func:amc.FDb.fdec_curs.Reset
9318void _db_fdec_curs_Reset(_db_fdec_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9319// cursor points to valid item
9320// func:amc.FDb.fdec_curs.ValidQ
9321bool _db_fdec_curs_ValidQ(_db_fdec_curs &curs) __attribute__((nothrow));
9322// proceed to next item
9323// func:amc.FDb.fdec_curs.Next
9324void _db_fdec_curs_Next(_db_fdec_curs &curs) __attribute__((nothrow));
9325// item access
9326// func:amc.FDb.fdec_curs.Access
9327amc::FFdec& _db_fdec_curs_Access(_db_fdec_curs &curs) __attribute__((nothrow));
9328// cursor points to valid item
9329// func:amc.FDb.fconst_curs.Reset
9330void _db_fconst_curs_Reset(_db_fconst_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9331// cursor points to valid item
9332// func:amc.FDb.fconst_curs.ValidQ
9333bool _db_fconst_curs_ValidQ(_db_fconst_curs &curs) __attribute__((nothrow));
9334// proceed to next item
9335// func:amc.FDb.fconst_curs.Next
9336void _db_fconst_curs_Next(_db_fconst_curs &curs) __attribute__((nothrow));
9337// item access
9338// func:amc.FDb.fconst_curs.Access
9339amc::FFconst& _db_fconst_curs_Access(_db_fconst_curs &curs) __attribute__((nothrow));
9340// func:amc.FDb.c_ns_sorted_curs.Reset
9341void _db_c_ns_sorted_curs_Reset(_db_c_ns_sorted_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9342// cursor points to valid item
9343// func:amc.FDb.c_ns_sorted_curs.ValidQ
9344bool _db_c_ns_sorted_curs_ValidQ(_db_c_ns_sorted_curs &curs) __attribute__((nothrow));
9345// proceed to next item
9346// func:amc.FDb.c_ns_sorted_curs.Next
9347void _db_c_ns_sorted_curs_Next(_db_c_ns_sorted_curs &curs) __attribute__((nothrow));
9348// item access
9349// func:amc.FDb.c_ns_sorted_curs.Access
9350amc::FNs& _db_c_ns_sorted_curs_Access(_db_c_ns_sorted_curs &curs) __attribute__((nothrow));
9351// cursor points to valid item
9352// func:amc.FDb.finput_curs.Reset
9353void _db_finput_curs_Reset(_db_finput_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9354// cursor points to valid item
9355// func:amc.FDb.finput_curs.ValidQ
9356bool _db_finput_curs_ValidQ(_db_finput_curs &curs) __attribute__((nothrow));
9357// proceed to next item
9358// func:amc.FDb.finput_curs.Next
9359void _db_finput_curs_Next(_db_finput_curs &curs) __attribute__((nothrow));
9360// item access
9361// func:amc.FDb.finput_curs.Access
9362amc::FFinput& _db_finput_curs_Access(_db_finput_curs &curs) __attribute__((nothrow));
9363// cursor points to valid item
9364// func:amc.FDb.foutput_curs.Reset
9365void _db_foutput_curs_Reset(_db_foutput_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9366// cursor points to valid item
9367// func:amc.FDb.foutput_curs.ValidQ
9368bool _db_foutput_curs_ValidQ(_db_foutput_curs &curs) __attribute__((nothrow));
9369// proceed to next item
9370// func:amc.FDb.foutput_curs.Next
9371void _db_foutput_curs_Next(_db_foutput_curs &curs) __attribute__((nothrow));
9372// item access
9373// func:amc.FDb.foutput_curs.Access
9374amc::FFoutput& _db_foutput_curs_Access(_db_foutput_curs &curs) __attribute__((nothrow));
9375// cursor points to valid item
9376// func:amc.FDb.fbuf_curs.Reset
9377void _db_fbuf_curs_Reset(_db_fbuf_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9378// cursor points to valid item
9379// func:amc.FDb.fbuf_curs.ValidQ
9380bool _db_fbuf_curs_ValidQ(_db_fbuf_curs &curs) __attribute__((nothrow));
9381// proceed to next item
9382// func:amc.FDb.fbuf_curs.Next
9383void _db_fbuf_curs_Next(_db_fbuf_curs &curs) __attribute__((nothrow));
9384// item access
9385// func:amc.FDb.fbuf_curs.Access
9386amc::FFbuf& _db_fbuf_curs_Access(_db_fbuf_curs &curs) __attribute__((nothrow));
9387// cursor points to valid item
9388// func:amc.FDb.chash_curs.Reset
9389void _db_chash_curs_Reset(_db_chash_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9390// cursor points to valid item
9391// func:amc.FDb.chash_curs.ValidQ
9392bool _db_chash_curs_ValidQ(_db_chash_curs &curs) __attribute__((nothrow));
9393// proceed to next item
9394// func:amc.FDb.chash_curs.Next
9395void _db_chash_curs_Next(_db_chash_curs &curs) __attribute__((nothrow));
9396// item access
9397// func:amc.FDb.chash_curs.Access
9398amc::FChash& _db_chash_curs_Access(_db_chash_curs &curs) __attribute__((nothrow));
9399// cursor points to valid item
9400// func:amc.FDb.ccmp_curs.Reset
9401void _db_ccmp_curs_Reset(_db_ccmp_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9402// cursor points to valid item
9403// func:amc.FDb.ccmp_curs.ValidQ
9404bool _db_ccmp_curs_ValidQ(_db_ccmp_curs &curs) __attribute__((nothrow));
9405// proceed to next item
9406// func:amc.FDb.ccmp_curs.Next
9407void _db_ccmp_curs_Next(_db_ccmp_curs &curs) __attribute__((nothrow));
9408// item access
9409// func:amc.FDb.ccmp_curs.Access
9410amc::FCcmp& _db_ccmp_curs_Access(_db_ccmp_curs &curs) __attribute__((nothrow));
9411// cursor points to valid item
9412// func:amc.FDb.fbigend_curs.Reset
9413void _db_fbigend_curs_Reset(_db_fbigend_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9414// cursor points to valid item
9415// func:amc.FDb.fbigend_curs.ValidQ
9416bool _db_fbigend_curs_ValidQ(_db_fbigend_curs &curs) __attribute__((nothrow));
9417// proceed to next item
9418// func:amc.FDb.fbigend_curs.Next
9419void _db_fbigend_curs_Next(_db_fbigend_curs &curs) __attribute__((nothrow));
9420// item access
9421// func:amc.FDb.fbigend_curs.Access
9422amc::FFbigend& _db_fbigend_curs_Access(_db_fbigend_curs &curs) __attribute__((nothrow));
9423// cursor points to valid item
9424// func:amc.FDb.zsl_ctype_pack_tran_curs.Reset
9425void _db_zsl_ctype_pack_tran_curs_Reset(_db_zsl_ctype_pack_tran_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9426// cursor points to valid item
9427// func:amc.FDb.zsl_ctype_pack_tran_curs.ValidQ
9428bool _db_zsl_ctype_pack_tran_curs_ValidQ(_db_zsl_ctype_pack_tran_curs &curs) __attribute__((nothrow));
9429// proceed to next item
9430// func:amc.FDb.zsl_ctype_pack_tran_curs.Next
9431void _db_zsl_ctype_pack_tran_curs_Next(_db_zsl_ctype_pack_tran_curs &curs) __attribute__((nothrow));
9432// item access
9433// func:amc.FDb.zsl_ctype_pack_tran_curs.Access
9434amc::FCtype& _db_zsl_ctype_pack_tran_curs_Access(_db_zsl_ctype_pack_tran_curs &curs) __attribute__((nothrow));
9435// cursor points to valid item
9436// func:amc.FDb.cstr_curs.Reset
9437void _db_cstr_curs_Reset(_db_cstr_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9438// cursor points to valid item
9439// func:amc.FDb.cstr_curs.ValidQ
9440bool _db_cstr_curs_ValidQ(_db_cstr_curs &curs) __attribute__((nothrow));
9441// proceed to next item
9442// func:amc.FDb.cstr_curs.Next
9443void _db_cstr_curs_Next(_db_cstr_curs &curs) __attribute__((nothrow));
9444// item access
9445// func:amc.FDb.cstr_curs.Access
9446amc::FCstr& _db_cstr_curs_Access(_db_cstr_curs &curs) __attribute__((nothrow));
9447// cursor points to valid item
9448// func:amc.FDb.listtype_curs.Reset
9449void _db_listtype_curs_Reset(_db_listtype_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9450// cursor points to valid item
9451// func:amc.FDb.listtype_curs.ValidQ
9452bool _db_listtype_curs_ValidQ(_db_listtype_curs &curs) __attribute__((nothrow));
9453// proceed to next item
9454// func:amc.FDb.listtype_curs.Next
9455void _db_listtype_curs_Next(_db_listtype_curs &curs) __attribute__((nothrow));
9456// item access
9457// func:amc.FDb.listtype_curs.Access
9458amc::FListtype& _db_listtype_curs_Access(_db_listtype_curs &curs) __attribute__((nothrow));
9459// cursor points to valid item
9460// func:amc.FDb.fstep_curs.Reset
9461void _db_fstep_curs_Reset(_db_fstep_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9462// cursor points to valid item
9463// func:amc.FDb.fstep_curs.ValidQ
9464bool _db_fstep_curs_ValidQ(_db_fstep_curs &curs) __attribute__((nothrow));
9465// proceed to next item
9466// func:amc.FDb.fstep_curs.Next
9467void _db_fstep_curs_Next(_db_fstep_curs &curs) __attribute__((nothrow));
9468// item access
9469// func:amc.FDb.fstep_curs.Access
9470amc::FFstep& _db_fstep_curs_Access(_db_fstep_curs &curs) __attribute__((nothrow));
9471// cursor points to valid item
9472// func:amc.FDb.cextern_curs.Reset
9473void _db_cextern_curs_Reset(_db_cextern_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9474// cursor points to valid item
9475// func:amc.FDb.cextern_curs.ValidQ
9476bool _db_cextern_curs_ValidQ(_db_cextern_curs &curs) __attribute__((nothrow));
9477// proceed to next item
9478// func:amc.FDb.cextern_curs.Next
9479void _db_cextern_curs_Next(_db_cextern_curs &curs) __attribute__((nothrow));
9480// item access
9481// func:amc.FDb.cextern_curs.Access
9482amc::FCextern& _db_cextern_curs_Access(_db_cextern_curs &curs) __attribute__((nothrow));
9483// cursor points to valid item
9484// func:amc.FDb.fdelay_curs.Reset
9485void _db_fdelay_curs_Reset(_db_fdelay_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9486// cursor points to valid item
9487// func:amc.FDb.fdelay_curs.ValidQ
9488bool _db_fdelay_curs_ValidQ(_db_fdelay_curs &curs) __attribute__((nothrow));
9489// proceed to next item
9490// func:amc.FDb.fdelay_curs.Next
9491void _db_fdelay_curs_Next(_db_fdelay_curs &curs) __attribute__((nothrow));
9492// item access
9493// func:amc.FDb.fdelay_curs.Access
9494amc::FFdelay& _db_fdelay_curs_Access(_db_fdelay_curs &curs) __attribute__((nothrow));
9495// cursor points to valid item
9496// func:amc.FDb.disptrace_curs.Reset
9497void _db_disptrace_curs_Reset(_db_disptrace_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9498// cursor points to valid item
9499// func:amc.FDb.disptrace_curs.ValidQ
9500bool _db_disptrace_curs_ValidQ(_db_disptrace_curs &curs) __attribute__((nothrow));
9501// proceed to next item
9502// func:amc.FDb.disptrace_curs.Next
9503void _db_disptrace_curs_Next(_db_disptrace_curs &curs) __attribute__((nothrow));
9504// item access
9505// func:amc.FDb.disptrace_curs.Access
9506amc::FDisptrace& _db_disptrace_curs_Access(_db_disptrace_curs &curs) __attribute__((nothrow));
9507// cursor points to valid item
9508// func:amc.FDb.tracefld_curs.Reset
9509void _db_tracefld_curs_Reset(_db_tracefld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9510// cursor points to valid item
9511// func:amc.FDb.tracefld_curs.ValidQ
9512bool _db_tracefld_curs_ValidQ(_db_tracefld_curs &curs) __attribute__((nothrow));
9513// proceed to next item
9514// func:amc.FDb.tracefld_curs.Next
9515void _db_tracefld_curs_Next(_db_tracefld_curs &curs) __attribute__((nothrow));
9516// item access
9517// func:amc.FDb.tracefld_curs.Access
9518amc::FTracefld& _db_tracefld_curs_Access(_db_tracefld_curs &curs) __attribute__((nothrow));
9519// cursor points to valid item
9520// func:amc.FDb.tracerec_curs.Reset
9521void _db_tracerec_curs_Reset(_db_tracerec_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9522// cursor points to valid item
9523// func:amc.FDb.tracerec_curs.ValidQ
9524bool _db_tracerec_curs_ValidQ(_db_tracerec_curs &curs) __attribute__((nothrow));
9525// proceed to next item
9526// func:amc.FDb.tracerec_curs.Next
9527void _db_tracerec_curs_Next(_db_tracerec_curs &curs) __attribute__((nothrow));
9528// item access
9529// func:amc.FDb.tracerec_curs.Access
9530amc::FTracerec& _db_tracerec_curs_Access(_db_tracerec_curs &curs) __attribute__((nothrow));
9531// cursor points to valid item
9532// func:amc.FDb.dispsig_curs.Reset
9533void _db_dispsig_curs_Reset(_db_dispsig_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9534// cursor points to valid item
9535// func:amc.FDb.dispsig_curs.ValidQ
9536bool _db_dispsig_curs_ValidQ(_db_dispsig_curs &curs) __attribute__((nothrow));
9537// proceed to next item
9538// func:amc.FDb.dispsig_curs.Next
9539void _db_dispsig_curs_Next(_db_dispsig_curs &curs) __attribute__((nothrow));
9540// item access
9541// func:amc.FDb.dispsig_curs.Access
9542amc::FDispsig& _db_dispsig_curs_Access(_db_dispsig_curs &curs) __attribute__((nothrow));
9543// func:amc.FDb.c_dispsig_sorted_curs.Reset
9544void _db_c_dispsig_sorted_curs_Reset(_db_c_dispsig_sorted_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9545// cursor points to valid item
9546// func:amc.FDb.c_dispsig_sorted_curs.ValidQ
9547bool _db_c_dispsig_sorted_curs_ValidQ(_db_c_dispsig_sorted_curs &curs) __attribute__((nothrow));
9548// proceed to next item
9549// func:amc.FDb.c_dispsig_sorted_curs.Next
9550void _db_c_dispsig_sorted_curs_Next(_db_c_dispsig_sorted_curs &curs) __attribute__((nothrow));
9551// item access
9552// func:amc.FDb.c_dispsig_sorted_curs.Access
9553amc::FDispsig& _db_c_dispsig_sorted_curs_Access(_db_c_dispsig_sorted_curs &curs) __attribute__((nothrow));
9554// cursor points to valid item
9555// func:amc.FDb.zs_sig_visit_curs.Reset
9556void _db_zs_sig_visit_curs_Reset(_db_zs_sig_visit_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9557// cursor points to valid item
9558// func:amc.FDb.zs_sig_visit_curs.ValidQ
9559bool _db_zs_sig_visit_curs_ValidQ(_db_zs_sig_visit_curs &curs) __attribute__((nothrow));
9560// proceed to next item
9561// func:amc.FDb.zs_sig_visit_curs.Next
9562void _db_zs_sig_visit_curs_Next(_db_zs_sig_visit_curs &curs) __attribute__((nothrow));
9563// item access
9564// func:amc.FDb.zs_sig_visit_curs.Access
9565amc::FCtype& _db_zs_sig_visit_curs_Access(_db_zs_sig_visit_curs &curs) __attribute__((nothrow));
9566// cursor points to valid item
9567// func:amc.FDb.target_curs.Reset
9568void _db_target_curs_Reset(_db_target_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9569// cursor points to valid item
9570// func:amc.FDb.target_curs.ValidQ
9571bool _db_target_curs_ValidQ(_db_target_curs &curs) __attribute__((nothrow));
9572// proceed to next item
9573// func:amc.FDb.target_curs.Next
9574void _db_target_curs_Next(_db_target_curs &curs) __attribute__((nothrow));
9575// item access
9576// func:amc.FDb.target_curs.Access
9577amc::FTarget& _db_target_curs_Access(_db_target_curs &curs) __attribute__((nothrow));
9578// cursor points to valid item
9579// func:amc.FDb.targdep_curs.Reset
9580void _db_targdep_curs_Reset(_db_targdep_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9581// cursor points to valid item
9582// func:amc.FDb.targdep_curs.ValidQ
9583bool _db_targdep_curs_ValidQ(_db_targdep_curs &curs) __attribute__((nothrow));
9584// proceed to next item
9585// func:amc.FDb.targdep_curs.Next
9586void _db_targdep_curs_Next(_db_targdep_curs &curs) __attribute__((nothrow));
9587// item access
9588// func:amc.FDb.targdep_curs.Access
9589amc::FTargdep& _db_targdep_curs_Access(_db_targdep_curs &curs) __attribute__((nothrow));
9590// cursor points to valid item
9591// func:amc.FDb.dispctx_curs.Reset
9592void _db_dispctx_curs_Reset(_db_dispctx_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9593// cursor points to valid item
9594// func:amc.FDb.dispctx_curs.ValidQ
9595bool _db_dispctx_curs_ValidQ(_db_dispctx_curs &curs) __attribute__((nothrow));
9596// proceed to next item
9597// func:amc.FDb.dispctx_curs.Next
9598void _db_dispctx_curs_Next(_db_dispctx_curs &curs) __attribute__((nothrow));
9599// item access
9600// func:amc.FDb.dispctx_curs.Access
9601amc::FDispctx& _db_dispctx_curs_Access(_db_dispctx_curs &curs) __attribute__((nothrow));
9602// cursor points to valid item
9603// func:amc.FDb.pmaskfld_curs.Reset
9604void _db_pmaskfld_curs_Reset(_db_pmaskfld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9605// cursor points to valid item
9606// func:amc.FDb.pmaskfld_curs.ValidQ
9607bool _db_pmaskfld_curs_ValidQ(_db_pmaskfld_curs &curs) __attribute__((nothrow));
9608// proceed to next item
9609// func:amc.FDb.pmaskfld_curs.Next
9610void _db_pmaskfld_curs_Next(_db_pmaskfld_curs &curs) __attribute__((nothrow));
9611// item access
9612// func:amc.FDb.pmaskfld_curs.Access
9613amc::FPmaskfld& _db_pmaskfld_curs_Access(_db_pmaskfld_curs &curs) __attribute__((nothrow));
9614// cursor points to valid item
9615// func:amc.FDb.fwddecl_curs.Reset
9616void _db_fwddecl_curs_Reset(_db_fwddecl_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9617// cursor points to valid item
9618// func:amc.FDb.fwddecl_curs.ValidQ
9619bool _db_fwddecl_curs_ValidQ(_db_fwddecl_curs &curs) __attribute__((nothrow));
9620// proceed to next item
9621// func:amc.FDb.fwddecl_curs.Next
9622void _db_fwddecl_curs_Next(_db_fwddecl_curs &curs) __attribute__((nothrow));
9623// item access
9624// func:amc.FDb.fwddecl_curs.Access
9625amc::FFwddecl& _db_fwddecl_curs_Access(_db_fwddecl_curs &curs) __attribute__((nothrow));
9626// cursor points to valid item
9627// func:amc.FDb.tfunc_curs.Reset
9628void _db_tfunc_curs_Reset(_db_tfunc_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9629// cursor points to valid item
9630// func:amc.FDb.tfunc_curs.ValidQ
9631bool _db_tfunc_curs_ValidQ(_db_tfunc_curs &curs) __attribute__((nothrow));
9632// proceed to next item
9633// func:amc.FDb.tfunc_curs.Next
9634void _db_tfunc_curs_Next(_db_tfunc_curs &curs) __attribute__((nothrow));
9635// item access
9636// func:amc.FDb.tfunc_curs.Access
9637amc::FTfunc& _db_tfunc_curs_Access(_db_tfunc_curs &curs) __attribute__((nothrow));
9638// cursor points to valid item
9639// func:amc.FDb.gen_curs.Reset
9640void _db_gen_curs_Reset(_db_gen_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9641// cursor points to valid item
9642// func:amc.FDb.gen_curs.ValidQ
9643bool _db_gen_curs_ValidQ(_db_gen_curs &curs) __attribute__((nothrow));
9644// proceed to next item
9645// func:amc.FDb.gen_curs.Next
9646void _db_gen_curs_Next(_db_gen_curs &curs) __attribute__((nothrow));
9647// item access
9648// func:amc.FDb.gen_curs.Access
9649amc::FGen& _db_gen_curs_Access(_db_gen_curs &curs) __attribute__((nothrow));
9650// cursor points to valid item
9651// func:amc.FDb.fregx_curs.Reset
9652void _db_fregx_curs_Reset(_db_fregx_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9653// cursor points to valid item
9654// func:amc.FDb.fregx_curs.ValidQ
9655bool _db_fregx_curs_ValidQ(_db_fregx_curs &curs) __attribute__((nothrow));
9656// proceed to next item
9657// func:amc.FDb.fregx_curs.Next
9658void _db_fregx_curs_Next(_db_fregx_curs &curs) __attribute__((nothrow));
9659// item access
9660// func:amc.FDb.fregx_curs.Access
9661amc::FFregx& _db_fregx_curs_Access(_db_fregx_curs &curs) __attribute__((nothrow));
9662// cursor points to valid item
9663// func:amc.FDb.tclass_curs.Reset
9664void _db_tclass_curs_Reset(_db_tclass_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9665// cursor points to valid item
9666// func:amc.FDb.tclass_curs.ValidQ
9667bool _db_tclass_curs_ValidQ(_db_tclass_curs &curs) __attribute__((nothrow));
9668// proceed to next item
9669// func:amc.FDb.tclass_curs.Next
9670void _db_tclass_curs_Next(_db_tclass_curs &curs) __attribute__((nothrow));
9671// item access
9672// func:amc.FDb.tclass_curs.Access
9673amc::FTclass& _db_tclass_curs_Access(_db_tclass_curs &curs) __attribute__((nothrow));
9674// cursor points to valid item
9675// func:amc.FDb.fcmp_curs.Reset
9676void _db_fcmp_curs_Reset(_db_fcmp_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9677// cursor points to valid item
9678// func:amc.FDb.fcmp_curs.ValidQ
9679bool _db_fcmp_curs_ValidQ(_db_fcmp_curs &curs) __attribute__((nothrow));
9680// proceed to next item
9681// func:amc.FDb.fcmp_curs.Next
9682void _db_fcmp_curs_Next(_db_fcmp_curs &curs) __attribute__((nothrow));
9683// item access
9684// func:amc.FDb.fcmp_curs.Access
9685amc::FFcmp& _db_fcmp_curs_Access(_db_fcmp_curs &curs) __attribute__((nothrow));
9686// cursor points to valid item
9687// func:amc.FDb.fcast_curs.Reset
9688void _db_fcast_curs_Reset(_db_fcast_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9689// cursor points to valid item
9690// func:amc.FDb.fcast_curs.ValidQ
9691bool _db_fcast_curs_ValidQ(_db_fcast_curs &curs) __attribute__((nothrow));
9692// proceed to next item
9693// func:amc.FDb.fcast_curs.Next
9694void _db_fcast_curs_Next(_db_fcast_curs &curs) __attribute__((nothrow));
9695// item access
9696// func:amc.FDb.fcast_curs.Access
9697amc::FFcast& _db_fcast_curs_Access(_db_fcast_curs &curs) __attribute__((nothrow));
9698// cursor points to valid item
9699// func:amc.FDb.noxref_curs.Reset
9700void _db_noxref_curs_Reset(_db_noxref_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9701// cursor points to valid item
9702// func:amc.FDb.noxref_curs.ValidQ
9703bool _db_noxref_curs_ValidQ(_db_noxref_curs &curs) __attribute__((nothrow));
9704// proceed to next item
9705// func:amc.FDb.noxref_curs.Next
9706void _db_noxref_curs_Next(_db_noxref_curs &curs) __attribute__((nothrow));
9707// item access
9708// func:amc.FDb.noxref_curs.Access
9709amc::FNoxref& _db_noxref_curs_Access(_db_noxref_curs &curs) __attribute__((nothrow));
9710// cursor points to valid item
9711// func:amc.FDb.nocascdel_curs.Reset
9712void _db_nocascdel_curs_Reset(_db_nocascdel_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9713// cursor points to valid item
9714// func:amc.FDb.nocascdel_curs.ValidQ
9715bool _db_nocascdel_curs_ValidQ(_db_nocascdel_curs &curs) __attribute__((nothrow));
9716// proceed to next item
9717// func:amc.FDb.nocascdel_curs.Next
9718void _db_nocascdel_curs_Next(_db_nocascdel_curs &curs) __attribute__((nothrow));
9719// item access
9720// func:amc.FDb.nocascdel_curs.Access
9721amc::FNocascdel& _db_nocascdel_curs_Access(_db_nocascdel_curs &curs) __attribute__((nothrow));
9722// cursor points to valid item
9723// func:amc.FDb.cafter_curs.Reset
9724void _db_cafter_curs_Reset(_db_cafter_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9725// cursor points to valid item
9726// func:amc.FDb.cafter_curs.ValidQ
9727bool _db_cafter_curs_ValidQ(_db_cafter_curs &curs) __attribute__((nothrow));
9728// proceed to next item
9729// func:amc.FDb.cafter_curs.Next
9730void _db_cafter_curs_Next(_db_cafter_curs &curs) __attribute__((nothrow));
9731// item access
9732// func:amc.FDb.cafter_curs.Access
9733amc::FCafter& _db_cafter_curs_Access(_db_cafter_curs &curs) __attribute__((nothrow));
9734// cursor points to valid item
9735// func:amc.FDb.csize_curs.Reset
9736void _db_csize_curs_Reset(_db_csize_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9737// cursor points to valid item
9738// func:amc.FDb.csize_curs.ValidQ
9739bool _db_csize_curs_ValidQ(_db_csize_curs &curs) __attribute__((nothrow));
9740// proceed to next item
9741// func:amc.FDb.csize_curs.Next
9742void _db_csize_curs_Next(_db_csize_curs &curs) __attribute__((nothrow));
9743// item access
9744// func:amc.FDb.csize_curs.Access
9745amc::FCsize& _db_csize_curs_Access(_db_csize_curs &curs) __attribute__((nothrow));
9746// cursor points to valid item
9747// func:amc.FDb.nsx_curs.Reset
9748void _db_nsx_curs_Reset(_db_nsx_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9749// cursor points to valid item
9750// func:amc.FDb.nsx_curs.ValidQ
9751bool _db_nsx_curs_ValidQ(_db_nsx_curs &curs) __attribute__((nothrow));
9752// proceed to next item
9753// func:amc.FDb.nsx_curs.Next
9754void _db_nsx_curs_Next(_db_nsx_curs &curs) __attribute__((nothrow));
9755// item access
9756// func:amc.FDb.nsx_curs.Access
9757amc::FNsx& _db_nsx_curs_Access(_db_nsx_curs &curs) __attribute__((nothrow));
9758// cursor points to valid item
9759// func:amc.FDb.fcompact_curs.Reset
9760void _db_fcompact_curs_Reset(_db_fcompact_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9761// cursor points to valid item
9762// func:amc.FDb.fcompact_curs.ValidQ
9763bool _db_fcompact_curs_ValidQ(_db_fcompact_curs &curs) __attribute__((nothrow));
9764// proceed to next item
9765// func:amc.FDb.fcompact_curs.Next
9766void _db_fcompact_curs_Next(_db_fcompact_curs &curs) __attribute__((nothrow));
9767// item access
9768// func:amc.FDb.fcompact_curs.Access
9769amc::FFcompact& _db_fcompact_curs_Access(_db_fcompact_curs &curs) __attribute__((nothrow));
9770// cursor points to valid item
9771// func:amc.FDb.findrem_curs.Reset
9772void _db_findrem_curs_Reset(_db_findrem_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9773// cursor points to valid item
9774// func:amc.FDb.findrem_curs.ValidQ
9775bool _db_findrem_curs_ValidQ(_db_findrem_curs &curs) __attribute__((nothrow));
9776// proceed to next item
9777// func:amc.FDb.findrem_curs.Next
9778void _db_findrem_curs_Next(_db_findrem_curs &curs) __attribute__((nothrow));
9779// item access
9780// func:amc.FDb.findrem_curs.Access
9781amc::FFindrem& _db_findrem_curs_Access(_db_findrem_curs &curs) __attribute__((nothrow));
9782// cursor points to valid item
9783// func:amc.FDb.fcurs_curs.Reset
9784void _db_fcurs_curs_Reset(_db_fcurs_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9785// cursor points to valid item
9786// func:amc.FDb.fcurs_curs.ValidQ
9787bool _db_fcurs_curs_ValidQ(_db_fcurs_curs &curs) __attribute__((nothrow));
9788// proceed to next item
9789// func:amc.FDb.fcurs_curs.Next
9790void _db_fcurs_curs_Next(_db_fcurs_curs &curs) __attribute__((nothrow));
9791// item access
9792// func:amc.FDb.fcurs_curs.Access
9793amc::FFcurs& _db_fcurs_curs_Access(_db_fcurs_curs &curs) __attribute__((nothrow));
9794// cursor points to valid item
9795// func:amc.FDb.cdflt_curs.Reset
9796void _db_cdflt_curs_Reset(_db_cdflt_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9797// cursor points to valid item
9798// func:amc.FDb.cdflt_curs.ValidQ
9799bool _db_cdflt_curs_ValidQ(_db_cdflt_curs &curs) __attribute__((nothrow));
9800// proceed to next item
9801// func:amc.FDb.cdflt_curs.Next
9802void _db_cdflt_curs_Next(_db_cdflt_curs &curs) __attribute__((nothrow));
9803// item access
9804// func:amc.FDb.cdflt_curs.Access
9805amc::FCdflt& _db_cdflt_curs_Access(_db_cdflt_curs &curs) __attribute__((nothrow));
9806// cursor points to valid item
9807// func:amc.FDb.argvtype_curs.Reset
9808void _db_argvtype_curs_Reset(_db_argvtype_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9809// cursor points to valid item
9810// func:amc.FDb.argvtype_curs.ValidQ
9811bool _db_argvtype_curs_ValidQ(_db_argvtype_curs &curs) __attribute__((nothrow));
9812// proceed to next item
9813// func:amc.FDb.argvtype_curs.Next
9814void _db_argvtype_curs_Next(_db_argvtype_curs &curs) __attribute__((nothrow));
9815// item access
9816// func:amc.FDb.argvtype_curs.Access
9817amc::FArgvtype& _db_argvtype_curs_Access(_db_argvtype_curs &curs) __attribute__((nothrow));
9818// cursor points to valid item
9819// func:amc.FDb.fcmdline_curs.Reset
9820void _db_fcmdline_curs_Reset(_db_fcmdline_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9821// cursor points to valid item
9822// func:amc.FDb.fcmdline_curs.ValidQ
9823bool _db_fcmdline_curs_ValidQ(_db_fcmdline_curs &curs) __attribute__((nothrow));
9824// proceed to next item
9825// func:amc.FDb.fcmdline_curs.Next
9826void _db_fcmdline_curs_Next(_db_fcmdline_curs &curs) __attribute__((nothrow));
9827// item access
9828// func:amc.FDb.fcmdline_curs.Access
9829amc::FFcmdline& _db_fcmdline_curs_Access(_db_fcmdline_curs &curs) __attribute__((nothrow));
9830// cursor points to valid item
9831// func:amc.FDb.floadtuples_curs.Reset
9832void _db_floadtuples_curs_Reset(_db_floadtuples_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9833// cursor points to valid item
9834// func:amc.FDb.floadtuples_curs.ValidQ
9835bool _db_floadtuples_curs_ValidQ(_db_floadtuples_curs &curs) __attribute__((nothrow));
9836// proceed to next item
9837// func:amc.FDb.floadtuples_curs.Next
9838void _db_floadtuples_curs_Next(_db_floadtuples_curs &curs) __attribute__((nothrow));
9839// item access
9840// func:amc.FDb.floadtuples_curs.Access
9841amc::FFloadtuples& _db_floadtuples_curs_Access(_db_floadtuples_curs &curs) __attribute__((nothrow));
9842// cursor points to valid item
9843// func:amc.FDb.fcmap_curs.Reset
9844void _db_fcmap_curs_Reset(_db_fcmap_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9845// cursor points to valid item
9846// func:amc.FDb.fcmap_curs.ValidQ
9847bool _db_fcmap_curs_ValidQ(_db_fcmap_curs &curs) __attribute__((nothrow));
9848// proceed to next item
9849// func:amc.FDb.fcmap_curs.Next
9850void _db_fcmap_curs_Next(_db_fcmap_curs &curs) __attribute__((nothrow));
9851// item access
9852// func:amc.FDb.fcmap_curs.Access
9853amc::FFcmap& _db_fcmap_curs_Access(_db_fcmap_curs &curs) __attribute__((nothrow));
9854// cursor points to valid item
9855// func:amc.FDb.zs_ordkeyfield_curs.Reset
9856void _db_zs_ordkeyfield_curs_Reset(_db_zs_ordkeyfield_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9857// cursor points to valid item
9858// func:amc.FDb.zs_ordkeyfield_curs.ValidQ
9859bool _db_zs_ordkeyfield_curs_ValidQ(_db_zs_ordkeyfield_curs &curs) __attribute__((nothrow));
9860// proceed to next item
9861// func:amc.FDb.zs_ordkeyfield_curs.Next
9862void _db_zs_ordkeyfield_curs_Next(_db_zs_ordkeyfield_curs &curs) __attribute__((nothrow));
9863// item access
9864// func:amc.FDb.zs_ordkeyfield_curs.Access
9865amc::FField& _db_zs_ordkeyfield_curs_Access(_db_zs_ordkeyfield_curs &curs) __attribute__((nothrow));
9866// cursor points to valid item
9867// func:amc.FDb.nsproto_curs.Reset
9868void _db_nsproto_curs_Reset(_db_nsproto_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9869// cursor points to valid item
9870// func:amc.FDb.nsproto_curs.ValidQ
9871bool _db_nsproto_curs_ValidQ(_db_nsproto_curs &curs) __attribute__((nothrow));
9872// proceed to next item
9873// func:amc.FDb.nsproto_curs.Next
9874void _db_nsproto_curs_Next(_db_nsproto_curs &curs) __attribute__((nothrow));
9875// item access
9876// func:amc.FDb.nsproto_curs.Access
9877amc::FNsproto& _db_nsproto_curs_Access(_db_nsproto_curs &curs) __attribute__((nothrow));
9878// cursor points to valid item
9879// func:amc.FDb.nsdb_curs.Reset
9880void _db_nsdb_curs_Reset(_db_nsdb_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9881// cursor points to valid item
9882// func:amc.FDb.nsdb_curs.ValidQ
9883bool _db_nsdb_curs_ValidQ(_db_nsdb_curs &curs) __attribute__((nothrow));
9884// proceed to next item
9885// func:amc.FDb.nsdb_curs.Next
9886void _db_nsdb_curs_Next(_db_nsdb_curs &curs) __attribute__((nothrow));
9887// item access
9888// func:amc.FDb.nsdb_curs.Access
9889amc::FNsdb& _db_nsdb_curs_Access(_db_nsdb_curs &curs) __attribute__((nothrow));
9890// cursor points to valid item
9891// func:amc.FDb.zd_substr_params_curs.Reset
9892void _db_zd_substr_params_curs_Reset(_db_zd_substr_params_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9893// cursor points to valid item
9894// func:amc.FDb.zd_substr_params_curs.ValidQ
9895bool _db_zd_substr_params_curs_ValidQ(_db_zd_substr_params_curs &curs) __attribute__((nothrow));
9896// proceed to next item
9897// func:amc.FDb.zd_substr_params_curs.Next
9898void _db_zd_substr_params_curs_Next(_db_zd_substr_params_curs &curs) __attribute__((nothrow));
9899// item access
9900// func:amc.FDb.zd_substr_params_curs.Access
9901amc::FSubstr& _db_zd_substr_params_curs_Access(_db_zd_substr_params_curs &curs) __attribute__((nothrow));
9902// cursor points to valid item
9903// func:amc.FDb.fprefix_curs.Reset
9904void _db_fprefix_curs_Reset(_db_fprefix_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9905// cursor points to valid item
9906// func:amc.FDb.fprefix_curs.ValidQ
9907bool _db_fprefix_curs_ValidQ(_db_fprefix_curs &curs) __attribute__((nothrow));
9908// proceed to next item
9909// func:amc.FDb.fprefix_curs.Next
9910void _db_fprefix_curs_Next(_db_fprefix_curs &curs) __attribute__((nothrow));
9911// item access
9912// func:amc.FDb.fprefix_curs.Access
9913amc::FFprefix& _db_fprefix_curs_Access(_db_fprefix_curs &curs) __attribute__((nothrow));
9914// cursor points to valid item
9915// func:amc.FDb.ftrace_curs.Reset
9916void _db_ftrace_curs_Reset(_db_ftrace_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9917// cursor points to valid item
9918// func:amc.FDb.ftrace_curs.ValidQ
9919bool _db_ftrace_curs_ValidQ(_db_ftrace_curs &curs) __attribute__((nothrow));
9920// proceed to next item
9921// func:amc.FDb.ftrace_curs.Next
9922void _db_ftrace_curs_Next(_db_ftrace_curs &curs) __attribute__((nothrow));
9923// item access
9924// func:amc.FDb.ftrace_curs.Access
9925amc::FFtrace& _db_ftrace_curs_Access(_db_ftrace_curs &curs) __attribute__((nothrow));
9926// cursor points to valid item
9927// func:amc.FDb.fnoremove_curs.Reset
9928void _db_fnoremove_curs_Reset(_db_fnoremove_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9929// cursor points to valid item
9930// func:amc.FDb.fnoremove_curs.ValidQ
9931bool _db_fnoremove_curs_ValidQ(_db_fnoremove_curs &curs) __attribute__((nothrow));
9932// proceed to next item
9933// func:amc.FDb.fnoremove_curs.Next
9934void _db_fnoremove_curs_Next(_db_fnoremove_curs &curs) __attribute__((nothrow));
9935// item access
9936// func:amc.FDb.fnoremove_curs.Access
9937amc::FFnoremove& _db_fnoremove_curs_Access(_db_fnoremove_curs &curs) __attribute__((nothrow));
9938// func:amc.FDb.c_substr_field_curs.Reset
9939void _db_c_substr_field_curs_Reset(_db_c_substr_field_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9940// cursor points to valid item
9941// func:amc.FDb.c_substr_field_curs.ValidQ
9942bool _db_c_substr_field_curs_ValidQ(_db_c_substr_field_curs &curs) __attribute__((nothrow));
9943// proceed to next item
9944// func:amc.FDb.c_substr_field_curs.Next
9945void _db_c_substr_field_curs_Next(_db_c_substr_field_curs &curs) __attribute__((nothrow));
9946// item access
9947// func:amc.FDb.c_substr_field_curs.Access
9948amc::FSubstr& _db_c_substr_field_curs_Access(_db_c_substr_field_curs &curs) __attribute__((nothrow));
9949// cursor points to valid item
9950// func:amc.FDb.ctypelen_curs.Reset
9951void _db_ctypelen_curs_Reset(_db_ctypelen_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9952// cursor points to valid item
9953// func:amc.FDb.ctypelen_curs.ValidQ
9954bool _db_ctypelen_curs_ValidQ(_db_ctypelen_curs &curs) __attribute__((nothrow));
9955// proceed to next item
9956// func:amc.FDb.ctypelen_curs.Next
9957void _db_ctypelen_curs_Next(_db_ctypelen_curs &curs) __attribute__((nothrow));
9958// item access
9959// func:amc.FDb.ctypelen_curs.Access
9960amc::FCtypelen& _db_ctypelen_curs_Access(_db_ctypelen_curs &curs) __attribute__((nothrow));
9961// func:amc.FDb.c_ctypelen_curs.Reset
9962void _db_c_ctypelen_curs_Reset(_db_c_ctypelen_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9963// cursor points to valid item
9964// func:amc.FDb.c_ctypelen_curs.ValidQ
9965bool _db_c_ctypelen_curs_ValidQ(_db_c_ctypelen_curs &curs) __attribute__((nothrow));
9966// proceed to next item
9967// func:amc.FDb.c_ctypelen_curs.Next
9968void _db_c_ctypelen_curs_Next(_db_c_ctypelen_curs &curs) __attribute__((nothrow));
9969// item access
9970// func:amc.FDb.c_ctypelen_curs.Access
9971amc::FCtypelen& _db_c_ctypelen_curs_Access(_db_c_ctypelen_curs &curs) __attribute__((nothrow));
9972// func:amc.FDb.c_tempfield_curs.Reset
9973void _db_c_tempfield_curs_Reset(_db_c_tempfield_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9974// cursor points to valid item
9975// func:amc.FDb.c_tempfield_curs.ValidQ
9976bool _db_c_tempfield_curs_ValidQ(_db_c_tempfield_curs &curs) __attribute__((nothrow));
9977// proceed to next item
9978// func:amc.FDb.c_tempfield_curs.Next
9979void _db_c_tempfield_curs_Next(_db_c_tempfield_curs &curs) __attribute__((nothrow));
9980// item access
9981// func:amc.FDb.c_tempfield_curs.Access
9982amc::FField& _db_c_tempfield_curs_Access(_db_c_tempfield_curs &curs) __attribute__((nothrow));
9983// cursor points to valid item
9984// func:amc.FDb.fbase_curs.Reset
9985void _db_fbase_curs_Reset(_db_fbase_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9986// cursor points to valid item
9987// func:amc.FDb.fbase_curs.ValidQ
9988bool _db_fbase_curs_ValidQ(_db_fbase_curs &curs) __attribute__((nothrow));
9989// proceed to next item
9990// func:amc.FDb.fbase_curs.Next
9991void _db_fbase_curs_Next(_db_fbase_curs &curs) __attribute__((nothrow));
9992// item access
9993// func:amc.FDb.fbase_curs.Access
9994amc::FFbase& _db_fbase_curs_Access(_db_fbase_curs &curs) __attribute__((nothrow));
9995// cursor points to valid item
9996// func:amc.FDb.nossimfile_curs.Reset
9997void _db_nossimfile_curs_Reset(_db_nossimfile_curs &curs, amc::FDb &parent) __attribute__((nothrow));
9998// cursor points to valid item
9999// func:amc.FDb.nossimfile_curs.ValidQ
10000bool _db_nossimfile_curs_ValidQ(_db_nossimfile_curs &curs) __attribute__((nothrow));
10001// proceed to next item
10002// func:amc.FDb.nossimfile_curs.Next
10003void _db_nossimfile_curs_Next(_db_nossimfile_curs &curs) __attribute__((nothrow));
10004// item access
10005// func:amc.FDb.nossimfile_curs.Access
10006amc::FNossimfile& _db_nossimfile_curs_Access(_db_nossimfile_curs &curs) __attribute__((nothrow));
10007// cursor points to valid item
10008// func:amc.FDb.gsymbol_curs.Reset
10009void _db_gsymbol_curs_Reset(_db_gsymbol_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10010// cursor points to valid item
10011// func:amc.FDb.gsymbol_curs.ValidQ
10012bool _db_gsymbol_curs_ValidQ(_db_gsymbol_curs &curs) __attribute__((nothrow));
10013// proceed to next item
10014// func:amc.FDb.gsymbol_curs.Next
10015void _db_gsymbol_curs_Next(_db_gsymbol_curs &curs) __attribute__((nothrow));
10016// item access
10017// func:amc.FDb.gsymbol_curs.Access
10018amc::FGsymbol& _db_gsymbol_curs_Access(_db_gsymbol_curs &curs) __attribute__((nothrow));
10019// cursor points to valid item
10020// func:amc.FDb.sortfld_curs.Reset
10021void _db_sortfld_curs_Reset(_db_sortfld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10022// cursor points to valid item
10023// func:amc.FDb.sortfld_curs.ValidQ
10024bool _db_sortfld_curs_ValidQ(_db_sortfld_curs &curs) __attribute__((nothrow));
10025// proceed to next item
10026// func:amc.FDb.sortfld_curs.Next
10027void _db_sortfld_curs_Next(_db_sortfld_curs &curs) __attribute__((nothrow));
10028// item access
10029// func:amc.FDb.sortfld_curs.Access
10030amc::FSortfld& _db_sortfld_curs_Access(_db_sortfld_curs &curs) __attribute__((nothrow));
10031// cursor points to valid item
10032// func:amc.FDb.cget_curs.Reset
10033void _db_cget_curs_Reset(_db_cget_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10034// cursor points to valid item
10035// func:amc.FDb.cget_curs.ValidQ
10036bool _db_cget_curs_ValidQ(_db_cget_curs &curs) __attribute__((nothrow));
10037// proceed to next item
10038// func:amc.FDb.cget_curs.Next
10039void _db_cget_curs_Next(_db_cget_curs &curs) __attribute__((nothrow));
10040// item access
10041// func:amc.FDb.cget_curs.Access
10042amc::FCget& _db_cget_curs_Access(_db_cget_curs &curs) __attribute__((nothrow));
10043// cursor points to valid item
10044// func:amc.FDb.cd_temp_func_curs.Reset
10045void _db_cd_temp_func_curs_Reset(_db_cd_temp_func_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10046// cursor points to valid item
10047// func:amc.FDb.cd_temp_func_curs.ValidQ
10048bool _db_cd_temp_func_curs_ValidQ(_db_cd_temp_func_curs &curs) __attribute__((nothrow));
10049// proceed to next item
10050// func:amc.FDb.cd_temp_func_curs.Next
10051void _db_cd_temp_func_curs_Next(_db_cd_temp_func_curs &curs) __attribute__((nothrow));
10052// item access
10053// func:amc.FDb.cd_temp_func_curs.Access
10054amc::FFunc& _db_cd_temp_func_curs_Access(_db_cd_temp_func_curs &curs) __attribute__((nothrow));
10055// cursor points to valid item
10056// func:amc.FDb.zs_gen_perns_curs.Reset
10057void _db_zs_gen_perns_curs_Reset(_db_zs_gen_perns_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10058// cursor points to valid item
10059// func:amc.FDb.zs_gen_perns_curs.ValidQ
10060bool _db_zs_gen_perns_curs_ValidQ(_db_zs_gen_perns_curs &curs) __attribute__((nothrow));
10061// proceed to next item
10062// func:amc.FDb.zs_gen_perns_curs.Next
10063void _db_zs_gen_perns_curs_Next(_db_zs_gen_perns_curs &curs) __attribute__((nothrow));
10064// item access
10065// func:amc.FDb.zs_gen_perns_curs.Access
10066amc::FGen& _db_zs_gen_perns_curs_Access(_db_zs_gen_perns_curs &curs) __attribute__((nothrow));
10067// cursor points to valid item
10068// func:amc.FDb.hook_curs.Reset
10069void _db_hook_curs_Reset(_db_hook_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10070// cursor points to valid item
10071// func:amc.FDb.hook_curs.ValidQ
10072bool _db_hook_curs_ValidQ(_db_hook_curs &curs) __attribute__((nothrow));
10073// proceed to next item
10074// func:amc.FDb.hook_curs.Next
10075void _db_hook_curs_Next(_db_hook_curs &curs) __attribute__((nothrow));
10076// item access
10077// func:amc.FDb.hook_curs.Access
10078amc::FHook& _db_hook_curs_Access(_db_hook_curs &curs) __attribute__((nothrow));
10079// cursor points to valid item
10080// func:amc.FDb.charset_curs.Reset
10081void _db_charset_curs_Reset(_db_charset_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10082// cursor points to valid item
10083// func:amc.FDb.charset_curs.ValidQ
10084bool _db_charset_curs_ValidQ(_db_charset_curs &curs) __attribute__((nothrow));
10085// proceed to next item
10086// func:amc.FDb.charset_curs.Next
10087void _db_charset_curs_Next(_db_charset_curs &curs) __attribute__((nothrow));
10088// item access
10089// func:amc.FDb.charset_curs.Access
10090amc::FCharset& _db_charset_curs_Access(_db_charset_curs &curs) __attribute__((nothrow));
10091// cursor points to valid item
10092// func:amc.FDb.nsinclude_curs.Reset
10093void _db_nsinclude_curs_Reset(_db_nsinclude_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10094// cursor points to valid item
10095// func:amc.FDb.nsinclude_curs.ValidQ
10096bool _db_nsinclude_curs_ValidQ(_db_nsinclude_curs &curs) __attribute__((nothrow));
10097// proceed to next item
10098// func:amc.FDb.nsinclude_curs.Next
10099void _db_nsinclude_curs_Next(_db_nsinclude_curs &curs) __attribute__((nothrow));
10100// item access
10101// func:amc.FDb.nsinclude_curs.Access
10102amc::FNsinclude& _db_nsinclude_curs_Access(_db_nsinclude_curs &curs) __attribute__((nothrow));
10103// cursor points to valid item
10104// func:amc.FDb.ssimvolatile_curs.Reset
10105void _db_ssimvolatile_curs_Reset(_db_ssimvolatile_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10106// cursor points to valid item
10107// func:amc.FDb.ssimvolatile_curs.ValidQ
10108bool _db_ssimvolatile_curs_ValidQ(_db_ssimvolatile_curs &curs) __attribute__((nothrow));
10109// proceed to next item
10110// func:amc.FDb.ssimvolatile_curs.Next
10111void _db_ssimvolatile_curs_Next(_db_ssimvolatile_curs &curs) __attribute__((nothrow));
10112// item access
10113// func:amc.FDb.ssimvolatile_curs.Access
10114amc::FSsimvolatile& _db_ssimvolatile_curs_Access(_db_ssimvolatile_curs &curs) __attribute__((nothrow));
10115// cursor points to valid item
10116// func:amc.FDb.funique_curs.Reset
10117void _db_funique_curs_Reset(_db_funique_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10118// cursor points to valid item
10119// func:amc.FDb.funique_curs.ValidQ
10120bool _db_funique_curs_ValidQ(_db_funique_curs &curs) __attribute__((nothrow));
10121// proceed to next item
10122// func:amc.FDb.funique_curs.Next
10123void _db_funique_curs_Next(_db_funique_curs &curs) __attribute__((nothrow));
10124// item access
10125// func:amc.FDb.funique_curs.Access
10126amc::FFunique& _db_funique_curs_Access(_db_funique_curs &curs) __attribute__((nothrow));
10127// cursor points to valid item
10128// func:amc.FDb.fuserinit_curs.Reset
10129void _db_fuserinit_curs_Reset(_db_fuserinit_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10130// cursor points to valid item
10131// func:amc.FDb.fuserinit_curs.ValidQ
10132bool _db_fuserinit_curs_ValidQ(_db_fuserinit_curs &curs) __attribute__((nothrow));
10133// proceed to next item
10134// func:amc.FDb.fuserinit_curs.Next
10135void _db_fuserinit_curs_Next(_db_fuserinit_curs &curs) __attribute__((nothrow));
10136// item access
10137// func:amc.FDb.fuserinit_curs.Access
10138amc::FFuserinit& _db_fuserinit_curs_Access(_db_fuserinit_curs &curs) __attribute__((nothrow));
10139// cursor points to valid item
10140// func:amc.FDb.tcurs_curs.Reset
10141void _db_tcurs_curs_Reset(_db_tcurs_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10142// cursor points to valid item
10143// func:amc.FDb.tcurs_curs.ValidQ
10144bool _db_tcurs_curs_ValidQ(_db_tcurs_curs &curs) __attribute__((nothrow));
10145// proceed to next item
10146// func:amc.FDb.tcurs_curs.Next
10147void _db_tcurs_curs_Next(_db_tcurs_curs &curs) __attribute__((nothrow));
10148// item access
10149// func:amc.FDb.tcurs_curs.Access
10150amc::FTcurs& _db_tcurs_curs_Access(_db_tcurs_curs &curs) __attribute__((nothrow));
10151// cursor points to valid item
10152// func:amc.FDb.nscpp_curs.Reset
10153void _db_nscpp_curs_Reset(_db_nscpp_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10154// cursor points to valid item
10155// func:amc.FDb.nscpp_curs.ValidQ
10156bool _db_nscpp_curs_ValidQ(_db_nscpp_curs &curs) __attribute__((nothrow));
10157// proceed to next item
10158// func:amc.FDb.nscpp_curs.Next
10159void _db_nscpp_curs_Next(_db_nscpp_curs &curs) __attribute__((nothrow));
10160// item access
10161// func:amc.FDb.nscpp_curs.Access
10162amc::FNscpp& _db_nscpp_curs_Access(_db_nscpp_curs &curs) __attribute__((nothrow));
10163// cursor points to valid item
10164// func:amc.FDb.fflag_curs.Reset
10165void _db_fflag_curs_Reset(_db_fflag_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10166// cursor points to valid item
10167// func:amc.FDb.fflag_curs.ValidQ
10168bool _db_fflag_curs_ValidQ(_db_fflag_curs &curs) __attribute__((nothrow));
10169// proceed to next item
10170// func:amc.FDb.fflag_curs.Next
10171void _db_fflag_curs_Next(_db_fflag_curs &curs) __attribute__((nothrow));
10172// item access
10173// func:amc.FDb.fflag_curs.Access
10174amc::FFflag& _db_fflag_curs_Access(_db_fflag_curs &curs) __attribute__((nothrow));
10175// cursor points to valid item
10176// func:amc.FDb.falias_curs.Reset
10177void _db_falias_curs_Reset(_db_falias_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10178// cursor points to valid item
10179// func:amc.FDb.falias_curs.ValidQ
10180bool _db_falias_curs_ValidQ(_db_falias_curs &curs) __attribute__((nothrow));
10181// proceed to next item
10182// func:amc.FDb.falias_curs.Next
10183void _db_falias_curs_Next(_db_falias_curs &curs) __attribute__((nothrow));
10184// item access
10185// func:amc.FDb.falias_curs.Access
10186amc::FFalias& _db_falias_curs_Access(_db_falias_curs &curs) __attribute__((nothrow));
10187// cursor points to valid item
10188// func:amc.FDb.license_curs.Reset
10189void _db_license_curs_Reset(_db_license_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10190// cursor points to valid item
10191// func:amc.FDb.license_curs.ValidQ
10192bool _db_license_curs_ValidQ(_db_license_curs &curs) __attribute__((nothrow));
10193// proceed to next item
10194// func:amc.FDb.license_curs.Next
10195void _db_license_curs_Next(_db_license_curs &curs) __attribute__((nothrow));
10196// item access
10197// func:amc.FDb.license_curs.Access
10198amc::FLicense& _db_license_curs_Access(_db_license_curs &curs) __attribute__((nothrow));
10199// func:amc.FDb.c_ssimfile_sorted_curs.Reset
10200void _db_c_ssimfile_sorted_curs_Reset(_db_c_ssimfile_sorted_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10201// cursor points to valid item
10202// func:amc.FDb.c_ssimfile_sorted_curs.ValidQ
10203bool _db_c_ssimfile_sorted_curs_ValidQ(_db_c_ssimfile_sorted_curs &curs) __attribute__((nothrow));
10204// proceed to next item
10205// func:amc.FDb.c_ssimfile_sorted_curs.Next
10206void _db_c_ssimfile_sorted_curs_Next(_db_c_ssimfile_sorted_curs &curs) __attribute__((nothrow));
10207// item access
10208// func:amc.FDb.c_ssimfile_sorted_curs.Access
10209amc::FSsimfile& _db_c_ssimfile_sorted_curs_Access(_db_c_ssimfile_sorted_curs &curs) __attribute__((nothrow));
10210// cursor points to valid item
10211// func:amc.FDb.zd_ssimfile_todo_curs.Reset
10212void _db_zd_ssimfile_todo_curs_Reset(_db_zd_ssimfile_todo_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10213// cursor points to valid item
10214// func:amc.FDb.zd_ssimfile_todo_curs.ValidQ
10215bool _db_zd_ssimfile_todo_curs_ValidQ(_db_zd_ssimfile_todo_curs &curs) __attribute__((nothrow));
10216// proceed to next item
10217// func:amc.FDb.zd_ssimfile_todo_curs.Next
10218void _db_zd_ssimfile_todo_curs_Next(_db_zd_ssimfile_todo_curs &curs) __attribute__((nothrow));
10219// item access
10220// func:amc.FDb.zd_ssimfile_todo_curs.Access
10221amc::FSsimfile& _db_zd_ssimfile_todo_curs_Access(_db_zd_ssimfile_todo_curs &curs) __attribute__((nothrow));
10222// cursor points to valid item
10223// func:amc.FDb.cfast_curs.Reset
10224void _db_cfast_curs_Reset(_db_cfast_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10225// cursor points to valid item
10226// func:amc.FDb.cfast_curs.ValidQ
10227bool _db_cfast_curs_ValidQ(_db_cfast_curs &curs) __attribute__((nothrow));
10228// proceed to next item
10229// func:amc.FDb.cfast_curs.Next
10230void _db_cfast_curs_Next(_db_cfast_curs &curs) __attribute__((nothrow));
10231// item access
10232// func:amc.FDb.cfast_curs.Access
10233amc::FCfast& _db_cfast_curs_Access(_db_cfast_curs &curs) __attribute__((nothrow));
10234// cursor points to valid item
10235// func:amc.FDb.ffast_curs.Reset
10236void _db_ffast_curs_Reset(_db_ffast_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10237// cursor points to valid item
10238// func:amc.FDb.ffast_curs.ValidQ
10239bool _db_ffast_curs_ValidQ(_db_ffast_curs &curs) __attribute__((nothrow));
10240// proceed to next item
10241// func:amc.FDb.ffast_curs.Next
10242void _db_ffast_curs_Next(_db_ffast_curs &curs) __attribute__((nothrow));
10243// item access
10244// func:amc.FDb.ffast_curs.Access
10245amc::FFfast& _db_ffast_curs_Access(_db_ffast_curs &curs) __attribute__((nothrow));
10246// cursor points to valid item
10247// func:amc.FDb.pmaskfld_member_curs.Reset
10248void _db_pmaskfld_member_curs_Reset(_db_pmaskfld_member_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10249// cursor points to valid item
10250// func:amc.FDb.pmaskfld_member_curs.ValidQ
10251bool _db_pmaskfld_member_curs_ValidQ(_db_pmaskfld_member_curs &curs) __attribute__((nothrow));
10252// proceed to next item
10253// func:amc.FDb.pmaskfld_member_curs.Next
10254void _db_pmaskfld_member_curs_Next(_db_pmaskfld_member_curs &curs) __attribute__((nothrow));
10255// item access
10256// func:amc.FDb.pmaskfld_member_curs.Access
10257amc::FPmaskfldMember& _db_pmaskfld_member_curs_Access(_db_pmaskfld_member_curs &curs) __attribute__((nothrow));
10258// cursor points to valid item
10259// func:amc.FDb.ssimsort_curs.Reset
10260void _db_ssimsort_curs_Reset(_db_ssimsort_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10261// cursor points to valid item
10262// func:amc.FDb.ssimsort_curs.ValidQ
10263bool _db_ssimsort_curs_ValidQ(_db_ssimsort_curs &curs) __attribute__((nothrow));
10264// proceed to next item
10265// func:amc.FDb.ssimsort_curs.Next
10266void _db_ssimsort_curs_Next(_db_ssimsort_curs &curs) __attribute__((nothrow));
10267// item access
10268// func:amc.FDb.ssimsort_curs.Access
10269amc::FSsimsort& _db_ssimsort_curs_Access(_db_ssimsort_curs &curs) __attribute__((nothrow));
10270// Set all fields to initial values.
10271// func:amc.FDb..Init
10272void FDb_Init();
10273// func:amc.FDb..Uninit
10274void FDb_Uninit() __attribute__((nothrow));
10275
10276// --- amc.FDispatch
10277// create: amc.FDb.dispatch (Lary)
10278// global access: ind_dispatch (Thash)
10279// access: amc.FDispatchmsg.p_dispatch (Upptr)
10280// access: amc.FDisptrace.p_dispatch (Upptr)
10281// access: amc.FNs.c_dispatch (Ptrary)
10282struct FDispatch { // amc.FDispatch
10283 amc::FDispatch* ind_dispatch_next; // hash next
10284 algo::Smallstr50 dispatch; // Primary key (ns.name)
10285 bool unk; // false Want default case?
10286 bool read; // false Generate read function
10287 bool print; // false Generate print function
10288 bool haslen; // false Include length in dispatch function
10289 bool call; // false Generate call to user-defined function
10290 bool strict; // false Only dispatch if length matches exactly
10291 amc::FCtype* p_ctype_hdr; // reference to parent row
10292 amc::FCtype* p_casetype; // reference to parent row
10293 amc::FDispfilter* c_dispfilter; // optional pointer
10294 amc::FNs* p_ns; // reference to parent row
10295 amc::FDispatchmsg** c_dispatch_msg_elems; // array of pointers
10296 u32 c_dispatch_msg_n; // array of pointers
10297 u32 c_dispatch_msg_max; // capacity of allocated array
10298 amc::FDisptrace* c_disptrace; // optional pointer
10299 algo::Sha1sig signature; //
10300 amc::FDispctx* c_dispctx; // optional pointer
10301 bool ns_c_dispatch_in_ary; // false membership flag
10302private:
10303 friend amc::FDispatch& dispatch_Alloc() __attribute__((__warn_unused_result__, nothrow));
10304 friend amc::FDispatch* dispatch_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10305 friend void dispatch_RemoveLast() __attribute__((nothrow));
10306 FDispatch();
10307 ~FDispatch();
10308 FDispatch(const FDispatch&){ /*disallow copy constructor */}
10309 void operator =(const FDispatch&){ /*disallow direct assignment */}
10310};
10311
10312// Copy fields out of row
10313// func:amc.FDispatch.msghdr.CopyOut
10314void dispatch_CopyOut(amc::FDispatch &row, dmmeta::Dispatch &out) __attribute__((nothrow));
10315// Copy fields in to row
10316// func:amc.FDispatch.msghdr.CopyIn
10317void dispatch_CopyIn(amc::FDispatch &row, dmmeta::Dispatch &in) __attribute__((nothrow));
10318
10319// func:amc.FDispatch.ns.Get
10320algo::Smallstr16 ns_Get(amc::FDispatch& dispatch) __attribute__((__warn_unused_result__, nothrow));
10321
10322// func:amc.FDispatch.name.Get
10323algo::Smallstr50 name_Get(amc::FDispatch& dispatch) __attribute__((__warn_unused_result__, nothrow));
10324
10325// Insert row into pointer index. Return final membership status.
10326// func:amc.FDispatch.c_dispfilter.InsertMaybe
10327bool c_dispfilter_InsertMaybe(amc::FDispatch& dispatch, amc::FDispfilter& row) __attribute__((nothrow));
10328// Remove element from index. If element is not in index, do nothing.
10329// func:amc.FDispatch.c_dispfilter.Remove
10330void c_dispfilter_Remove(amc::FDispatch& dispatch, amc::FDispfilter& row) __attribute__((nothrow));
10331
10332// Return true if index is empty
10333// func:amc.FDispatch.c_dispatch_msg.EmptyQ
10334bool c_dispatch_msg_EmptyQ(amc::FDispatch& dispatch) __attribute__((nothrow));
10335// Look up row by row id. Return NULL if out of range
10336// func:amc.FDispatch.c_dispatch_msg.Find
10337amc::FDispatchmsg* c_dispatch_msg_Find(amc::FDispatch& dispatch, u32 t) __attribute__((__warn_unused_result__, nothrow));
10338// Return array of pointers
10339// func:amc.FDispatch.c_dispatch_msg.Getary
10340algo::aryptr<amc::FDispatchmsg*> c_dispatch_msg_Getary(amc::FDispatch& dispatch) __attribute__((nothrow));
10341// Insert pointer to row into array. Row must not already be in array.
10342// If pointer is already in the array, it may be inserted twice.
10343// func:amc.FDispatch.c_dispatch_msg.Insert
10344void c_dispatch_msg_Insert(amc::FDispatch& dispatch, amc::FDispatchmsg& row) __attribute__((nothrow));
10345// Insert pointer to row in array.
10346// If row is already in the array, do nothing.
10347// Return value: whether element was inserted into array.
10348// func:amc.FDispatch.c_dispatch_msg.InsertMaybe
10349bool c_dispatch_msg_InsertMaybe(amc::FDispatch& dispatch, amc::FDispatchmsg& row) __attribute__((nothrow));
10350// Return number of items in the pointer array
10351// func:amc.FDispatch.c_dispatch_msg.N
10352i32 c_dispatch_msg_N(const amc::FDispatch& dispatch) __attribute__((__warn_unused_result__, nothrow, pure));
10353// Find element using linear scan. If element is in array, remove, otherwise do nothing
10354// func:amc.FDispatch.c_dispatch_msg.Remove
10355void c_dispatch_msg_Remove(amc::FDispatch& dispatch, amc::FDispatchmsg& row) __attribute__((nothrow));
10356// Empty the index. (The rows are not deleted)
10357// func:amc.FDispatch.c_dispatch_msg.RemoveAll
10358void c_dispatch_msg_RemoveAll(amc::FDispatch& dispatch) __attribute__((nothrow));
10359// Reserve space in index for N more elements;
10360// func:amc.FDispatch.c_dispatch_msg.Reserve
10361void c_dispatch_msg_Reserve(amc::FDispatch& dispatch, u32 n) __attribute__((nothrow));
10362// Return reference without bounds checking
10363// func:amc.FDispatch.c_dispatch_msg.qFind
10364amc::FDispatchmsg& c_dispatch_msg_qFind(amc::FDispatch& dispatch, u32 idx) __attribute__((nothrow));
10365// True if row is in any ptrary instance
10366// func:amc.FDispatch.c_dispatch_msg.InAryQ
10367bool dispatch_c_dispatch_msg_InAryQ(amc::FDispatchmsg& row) __attribute__((nothrow));
10368// Reference to last element without bounds checking
10369// func:amc.FDispatch.c_dispatch_msg.qLast
10370amc::FDispatchmsg& c_dispatch_msg_qLast(amc::FDispatch& dispatch) __attribute__((nothrow));
10371
10372// Insert row into pointer index. Return final membership status.
10373// func:amc.FDispatch.c_disptrace.InsertMaybe
10374bool c_disptrace_InsertMaybe(amc::FDispatch& dispatch, amc::FDisptrace& row) __attribute__((nothrow));
10375// Remove element from index. If element is not in index, do nothing.
10376// func:amc.FDispatch.c_disptrace.Remove
10377void c_disptrace_Remove(amc::FDispatch& dispatch, amc::FDisptrace& row) __attribute__((nothrow));
10378
10379// Insert row into pointer index. Return final membership status.
10380// func:amc.FDispatch.c_dispctx.InsertMaybe
10381bool c_dispctx_InsertMaybe(amc::FDispatch& dispatch, amc::FDispctx& row) __attribute__((nothrow));
10382// Remove element from index. If element is not in index, do nothing.
10383// func:amc.FDispatch.c_dispctx.Remove
10384void c_dispctx_Remove(amc::FDispatch& dispatch, amc::FDispctx& row) __attribute__((nothrow));
10385
10386// Set all fields to initial values.
10387// func:amc.FDispatch..Init
10388void FDispatch_Init(amc::FDispatch& dispatch);
10389// func:amc.FDispatch.c_dispatch_msg_curs.Reset
10390void dispatch_c_dispatch_msg_curs_Reset(dispatch_c_dispatch_msg_curs &curs, amc::FDispatch &parent) __attribute__((nothrow));
10391// cursor points to valid item
10392// func:amc.FDispatch.c_dispatch_msg_curs.ValidQ
10393bool dispatch_c_dispatch_msg_curs_ValidQ(dispatch_c_dispatch_msg_curs &curs) __attribute__((nothrow));
10394// proceed to next item
10395// func:amc.FDispatch.c_dispatch_msg_curs.Next
10396void dispatch_c_dispatch_msg_curs_Next(dispatch_c_dispatch_msg_curs &curs) __attribute__((nothrow));
10397// item access
10398// func:amc.FDispatch.c_dispatch_msg_curs.Access
10399amc::FDispatchmsg& dispatch_c_dispatch_msg_curs_Access(dispatch_c_dispatch_msg_curs &curs) __attribute__((nothrow));
10400// func:amc.FDispatch..Uninit
10401void FDispatch_Uninit(amc::FDispatch& dispatch) __attribute__((nothrow));
10402
10403// --- amc.FDispatchmsg
10404// create: amc.FDb.dispatch_msg (Lary)
10405// access: amc.FDispatch.c_dispatch_msg (Ptrary)
10406struct FDispatchmsg { // amc.FDispatchmsg
10407 algo::Smallstr100 dispatch_msg; //
10408 amc::FCtype* p_ctype; // reference to parent row
10409 amc::FDispatch* p_dispatch; // reference to parent row
10410 algo::cstring selector; //
10411 bool dispatch_c_dispatch_msg_in_ary; // false membership flag
10412private:
10413 friend amc::FDispatchmsg& dispatch_msg_Alloc() __attribute__((__warn_unused_result__, nothrow));
10414 friend amc::FDispatchmsg* dispatch_msg_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10415 friend void dispatch_msg_RemoveLast() __attribute__((nothrow));
10416 FDispatchmsg();
10417 ~FDispatchmsg();
10418 FDispatchmsg(const FDispatchmsg&){ /*disallow copy constructor */}
10419 void operator =(const FDispatchmsg&){ /*disallow direct assignment */}
10420};
10421
10422// Copy fields out of row
10423// func:amc.FDispatchmsg.msghdr.CopyOut
10424void dispatch_msg_CopyOut(amc::FDispatchmsg &row, dmmeta::DispatchMsg &out) __attribute__((nothrow));
10425// Copy fields in to row
10426// func:amc.FDispatchmsg.msghdr.CopyIn
10427void dispatch_msg_CopyIn(amc::FDispatchmsg &row, dmmeta::DispatchMsg &in) __attribute__((nothrow));
10428
10429// func:amc.FDispatchmsg.dispatch.Get
10430algo::Smallstr50 dispatch_Get(amc::FDispatchmsg& dispatch_msg) __attribute__((__warn_unused_result__, nothrow));
10431
10432// func:amc.FDispatchmsg.ctype.Get
10433algo::Smallstr100 ctype_Get(amc::FDispatchmsg& dispatch_msg) __attribute__((__warn_unused_result__, nothrow));
10434
10435// Set all fields to initial values.
10436// func:amc.FDispatchmsg..Init
10437void FDispatchmsg_Init(amc::FDispatchmsg& dispatch_msg);
10438// func:amc.FDispatchmsg..Uninit
10439void FDispatchmsg_Uninit(amc::FDispatchmsg& dispatch_msg) __attribute__((nothrow));
10440
10441// --- amc.FDispctx
10442// create: amc.FDb.dispctx (Lary)
10443// access: amc.FDispatch.c_dispctx (Ptr)
10444struct FDispctx { // amc.FDispctx
10445 algo::Smallstr50 dispatch; //
10446 algo::Smallstr100 ctype; //
10447 amc::FCtype* p_ctype; // reference to parent row
10448private:
10449 friend amc::FDispctx& dispctx_Alloc() __attribute__((__warn_unused_result__, nothrow));
10450 friend amc::FDispctx* dispctx_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10451 friend void dispctx_RemoveLast() __attribute__((nothrow));
10452 FDispctx();
10453 ~FDispctx();
10454 FDispctx(const FDispctx&){ /*disallow copy constructor */}
10455 void operator =(const FDispctx&){ /*disallow direct assignment */}
10456};
10457
10458// Copy fields out of row
10459// func:amc.FDispctx.msghdr.CopyOut
10460void dispctx_CopyOut(amc::FDispctx &row, dmmeta::Dispctx &out) __attribute__((nothrow));
10461// Copy fields in to row
10462// func:amc.FDispctx.msghdr.CopyIn
10463void dispctx_CopyIn(amc::FDispctx &row, dmmeta::Dispctx &in) __attribute__((nothrow));
10464
10465// Set all fields to initial values.
10466// func:amc.FDispctx..Init
10467void FDispctx_Init(amc::FDispctx& dispctx);
10468// func:amc.FDispctx..Uninit
10469void FDispctx_Uninit(amc::FDispctx& dispctx) __attribute__((nothrow));
10470
10471// --- amc.FDispfilter
10472// create: amc.FDb.dispfilter (Lary)
10473// access: amc.FDispatch.c_dispfilter (Ptr)
10474struct FDispfilter { // amc.FDispfilter
10475 algo::Smallstr50 dispatch; //
10476 bool match_all; // false
10477private:
10478 friend amc::FDispfilter& dispfilter_Alloc() __attribute__((__warn_unused_result__, nothrow));
10479 friend amc::FDispfilter* dispfilter_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10480 friend void dispfilter_RemoveLast() __attribute__((nothrow));
10481 FDispfilter();
10482 ~FDispfilter();
10483 FDispfilter(const FDispfilter&){ /*disallow copy constructor */}
10484 void operator =(const FDispfilter&){ /*disallow direct assignment */}
10485};
10486
10487// Copy fields out of row
10488// func:amc.FDispfilter.msghdr.CopyOut
10489void dispfilter_CopyOut(amc::FDispfilter &row, dmmeta::Dispfilter &out) __attribute__((nothrow));
10490// Copy fields in to row
10491// func:amc.FDispfilter.msghdr.CopyIn
10492void dispfilter_CopyIn(amc::FDispfilter &row, dmmeta::Dispfilter &in) __attribute__((nothrow));
10493
10494// Set all fields to initial values.
10495// func:amc.FDispfilter..Init
10496void FDispfilter_Init(amc::FDispfilter& dispfilter);
10497// func:amc.FDispfilter..Uninit
10498void FDispfilter_Uninit(amc::FDispfilter& dispfilter) __attribute__((nothrow));
10499
10500// --- amc.FDispsig
10501// create: amc.FDb.dispsig (Lary)
10502// global access: c_dispsig_sorted (Ptrary)
10503// access: amc.FNs.c_dispsig (Ptrary)
10504struct FDispsig { // amc.FDispsig
10505 algo::Smallstr50 dispsig; //
10506 algo::Sha1sig signature; //
10507 bool _db_c_dispsig_sorted_in_ary; // false membership flag
10508 bool ns_c_dispsig_in_ary; // false membership flag
10509private:
10510 friend amc::FDispsig& dispsig_Alloc() __attribute__((__warn_unused_result__, nothrow));
10511 friend amc::FDispsig* dispsig_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10512 friend void dispsig_RemoveAll() __attribute__((nothrow));
10513 friend void dispsig_RemoveLast() __attribute__((nothrow));
10514 FDispsig();
10515 ~FDispsig();
10516 FDispsig(const FDispsig&){ /*disallow copy constructor */}
10517 void operator =(const FDispsig&){ /*disallow direct assignment */}
10518};
10519
10520// Copy fields out of row
10521// func:amc.FDispsig.msghdr.CopyOut
10522void dispsig_CopyOut(amc::FDispsig &row, dmmeta::Dispsig &out) __attribute__((nothrow));
10523// Copy fields in to row
10524// func:amc.FDispsig.msghdr.CopyIn
10525void dispsig_CopyIn(amc::FDispsig &row, dmmeta::Dispsig &in) __attribute__((nothrow));
10526
10527// func:amc.FDispsig.ns.Get
10528algo::Smallstr16 ns_Get(amc::FDispsig& dispsig) __attribute__((__warn_unused_result__, nothrow));
10529
10530// func:amc.FDispsig.name.Get
10531algo::Smallstr50 name_Get(amc::FDispsig& dispsig) __attribute__((__warn_unused_result__, nothrow));
10532
10533// Set all fields to initial values.
10534// func:amc.FDispsig..Init
10535void FDispsig_Init(amc::FDispsig& dispsig);
10536// func:amc.FDispsig..Uninit
10537void FDispsig_Uninit(amc::FDispsig& dispsig) __attribute__((nothrow));
10538
10539// --- amc.FDisptrace
10540// create: amc.FDb.disptrace (Lary)
10541// access: amc.FDispatch.c_disptrace (Ptr)
10542struct FDisptrace { // amc.FDisptrace
10543 algo::Smallstr50 dispatch; //
10544 bool cycle; // false
10545 algo::Comment comment; //
10546 amc::FDispatch* p_dispatch; // reference to parent row
10547private:
10548 friend amc::FDisptrace& disptrace_Alloc() __attribute__((__warn_unused_result__, nothrow));
10549 friend amc::FDisptrace* disptrace_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10550 friend void disptrace_RemoveLast() __attribute__((nothrow));
10551 FDisptrace();
10552 ~FDisptrace();
10553 FDisptrace(const FDisptrace&){ /*disallow copy constructor */}
10554 void operator =(const FDisptrace&){ /*disallow direct assignment */}
10555};
10556
10557// Copy fields out of row
10558// func:amc.FDisptrace.msghdr.CopyOut
10559void disptrace_CopyOut(amc::FDisptrace &row, dmmeta::Disptrace &out) __attribute__((nothrow));
10560// Copy fields in to row
10561// func:amc.FDisptrace.msghdr.CopyIn
10562void disptrace_CopyIn(amc::FDisptrace &row, dmmeta::Disptrace &in) __attribute__((nothrow));
10563
10564// Set all fields to initial values.
10565// func:amc.FDisptrace..Init
10566void FDisptrace_Init(amc::FDisptrace& disptrace);
10567// func:amc.FDisptrace..Uninit
10568void FDisptrace_Uninit(amc::FDisptrace& disptrace) __attribute__((nothrow));
10569
10570// --- amc.FEnumstr
10571// create: amc.FDb.enumstr (Lary)
10572// global access: ind_enumstr (Thash)
10573// access: amc.FEnumstrLen.bh_enumstr (Bheap)
10574struct FEnumstr { // amc.FEnumstr: All values of a given length
10575 amc::FEnumstr* ind_enumstr_next; // hash next
10576 amc::Enumstr enumstr; //
10577 amc::FFconst** c_fconst_elems; // array of pointers
10578 u32 c_fconst_n; // array of pointers
10579 u32 c_fconst_max; // capacity of allocated array
10580 i32 bh_enumstr_idx; // index in heap; -1 means not-in-heap
10581private:
10582 friend amc::FEnumstr& enumstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
10583 friend amc::FEnumstr* enumstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10584 friend void enumstr_RemoveAll() __attribute__((nothrow));
10585 friend void enumstr_RemoveLast() __attribute__((nothrow));
10586 FEnumstr();
10587 ~FEnumstr();
10588 FEnumstr(const FEnumstr&){ /*disallow copy constructor */}
10589 void operator =(const FEnumstr&){ /*disallow direct assignment */}
10590};
10591
10592// Return true if index is empty
10593// func:amc.FEnumstr.c_fconst.EmptyQ
10594bool c_fconst_EmptyQ(amc::FEnumstr& enumstr) __attribute__((nothrow));
10595// Look up row by row id. Return NULL if out of range
10596// func:amc.FEnumstr.c_fconst.Find
10597amc::FFconst* c_fconst_Find(amc::FEnumstr& enumstr, u32 t) __attribute__((__warn_unused_result__, nothrow));
10598// Return array of pointers
10599// func:amc.FEnumstr.c_fconst.Getary
10600algo::aryptr<amc::FFconst*> c_fconst_Getary(amc::FEnumstr& enumstr) __attribute__((nothrow));
10601// Insert pointer to row into array. Row must not already be in array.
10602// If pointer is already in the array, it may be inserted twice.
10603// func:amc.FEnumstr.c_fconst.Insert
10604void c_fconst_Insert(amc::FEnumstr& enumstr, amc::FFconst& row) __attribute__((nothrow));
10605// Insert pointer to row in array.
10606// If row is already in the array, do nothing.
10607// Linear search is used to locate the element.
10608// Return value: whether element was inserted into array.
10609// func:amc.FEnumstr.c_fconst.ScanInsertMaybe
10610bool c_fconst_ScanInsertMaybe(amc::FEnumstr& enumstr, amc::FFconst& row) __attribute__((nothrow));
10611// Return number of items in the pointer array
10612// func:amc.FEnumstr.c_fconst.N
10613i32 c_fconst_N(const amc::FEnumstr& enumstr) __attribute__((__warn_unused_result__, nothrow, pure));
10614// Find element using linear scan. If element is in array, remove, otherwise do nothing
10615// func:amc.FEnumstr.c_fconst.Remove
10616void c_fconst_Remove(amc::FEnumstr& enumstr, amc::FFconst& row) __attribute__((nothrow));
10617// Empty the index. (The rows are not deleted)
10618// func:amc.FEnumstr.c_fconst.RemoveAll
10619void c_fconst_RemoveAll(amc::FEnumstr& enumstr) __attribute__((nothrow));
10620// Reserve space in index for N more elements;
10621// func:amc.FEnumstr.c_fconst.Reserve
10622void c_fconst_Reserve(amc::FEnumstr& enumstr, u32 n) __attribute__((nothrow));
10623// Return reference without bounds checking
10624// func:amc.FEnumstr.c_fconst.qFind
10625amc::FFconst& c_fconst_qFind(amc::FEnumstr& enumstr, u32 idx) __attribute__((nothrow));
10626// Reference to last element without bounds checking
10627// func:amc.FEnumstr.c_fconst.qLast
10628amc::FFconst& c_fconst_qLast(amc::FEnumstr& enumstr) __attribute__((nothrow));
10629
10630// Set all fields to initial values.
10631// func:amc.FEnumstr..Init
10632void FEnumstr_Init(amc::FEnumstr& enumstr);
10633// func:amc.FEnumstr.c_fconst_curs.Reset
10634void enumstr_c_fconst_curs_Reset(enumstr_c_fconst_curs &curs, amc::FEnumstr &parent) __attribute__((nothrow));
10635// cursor points to valid item
10636// func:amc.FEnumstr.c_fconst_curs.ValidQ
10637bool enumstr_c_fconst_curs_ValidQ(enumstr_c_fconst_curs &curs) __attribute__((nothrow));
10638// proceed to next item
10639// func:amc.FEnumstr.c_fconst_curs.Next
10640void enumstr_c_fconst_curs_Next(enumstr_c_fconst_curs &curs) __attribute__((nothrow));
10641// item access
10642// func:amc.FEnumstr.c_fconst_curs.Access
10643amc::FFconst& enumstr_c_fconst_curs_Access(enumstr_c_fconst_curs &curs) __attribute__((nothrow));
10644// func:amc.FEnumstr..Uninit
10645void FEnumstr_Uninit(amc::FEnumstr& enumstr) __attribute__((nothrow));
10646
10647// --- amc.FEnumstrLen
10648// create: amc.FDb.enumstr_len (Lary)
10649// global access: bh_enumstr_len (Bheap)
10650// global access: ind_enumstr_len (Thash)
10651struct FEnumstrLen { // amc.FEnumstrLen
10652 i32 bh_enumstr_len_idx; // index in heap; -1 means not-in-heap
10653 amc::FEnumstrLen* ind_enumstr_len_next; // hash next
10654 i32 len; // 0
10655 amc::FEnumstr** bh_enumstr_elems; // binary heap by str
10656 i32 bh_enumstr_n; // number of elements in the heap
10657 i32 bh_enumstr_max; // max elements in bh_enumstr_elems
10658private:
10659 friend amc::FEnumstrLen& enumstr_len_Alloc() __attribute__((__warn_unused_result__, nothrow));
10660 friend amc::FEnumstrLen* enumstr_len_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10661 friend void enumstr_len_RemoveAll() __attribute__((nothrow));
10662 friend void enumstr_len_RemoveLast() __attribute__((nothrow));
10663 FEnumstrLen();
10664 ~FEnumstrLen();
10665 FEnumstrLen(const FEnumstrLen&){ /*disallow copy constructor */}
10666 void operator =(const FEnumstrLen&){ /*disallow direct assignment */}
10667};
10668
10669// Remove all elements from heap and free memory used by the array.
10670// func:amc.FEnumstrLen.bh_enumstr.Dealloc
10671void bh_enumstr_Dealloc(amc::FEnumstrLen& enumstr_len) __attribute__((nothrow));
10672// Return true if index is empty
10673// func:amc.FEnumstrLen.bh_enumstr.EmptyQ
10674bool bh_enumstr_EmptyQ(amc::FEnumstrLen& enumstr_len) __attribute__((nothrow));
10675// If index empty, return NULL. Otherwise return pointer to first element in index
10676// func:amc.FEnumstrLen.bh_enumstr.First
10677amc::FEnumstr* bh_enumstr_First(amc::FEnumstrLen& enumstr_len) __attribute__((__warn_unused_result__, nothrow, pure));
10678// Return true if row is in index, false otherwise
10679// func:amc.FEnumstrLen.bh_enumstr.InBheapQ
10680bool bh_enumstr_InBheapQ(amc::FEnumstr& row) __attribute__((__warn_unused_result__, nothrow));
10681// Insert row. Row must not already be in index. If row is already in index, do nothing.
10682// func:amc.FEnumstrLen.bh_enumstr.Insert
10683void bh_enumstr_Insert(amc::FEnumstrLen& enumstr_len, amc::FEnumstr& row) __attribute__((nothrow));
10684// Return number of items in the heap
10685// func:amc.FEnumstrLen.bh_enumstr.N
10686i32 bh_enumstr_N(const amc::FEnumstrLen& enumstr_len) __attribute__((__warn_unused_result__, nothrow, pure));
10687// If row is in heap, update its position. If row is not in heap, insert it.
10688// Return new position of item in the heap (0=top)
10689// func:amc.FEnumstrLen.bh_enumstr.Reheap
10690i32 bh_enumstr_Reheap(amc::FEnumstrLen& enumstr_len, amc::FEnumstr& row) __attribute__((nothrow));
10691// Key of first element in the heap changed. Move it.
10692// This function does not check the insert condition.
10693// Return new position of item in the heap (0=top).
10694// Heap must be non-empty or behavior is undefined.
10695// func:amc.FEnumstrLen.bh_enumstr.ReheapFirst
10696i32 bh_enumstr_ReheapFirst(amc::FEnumstrLen& enumstr_len) __attribute__((nothrow));
10697// Remove element from index. If element is not in index, do nothing.
10698// func:amc.FEnumstrLen.bh_enumstr.Remove
10699void bh_enumstr_Remove(amc::FEnumstrLen& enumstr_len, amc::FEnumstr& row) __attribute__((nothrow));
10700// Remove all elements from binary heap
10701// func:amc.FEnumstrLen.bh_enumstr.RemoveAll
10702void bh_enumstr_RemoveAll(amc::FEnumstrLen& enumstr_len) __attribute__((nothrow));
10703// If index is empty, return NULL. Otherwise remove and return first key in index.
10704// Call 'head changed' trigger.
10705// func:amc.FEnumstrLen.bh_enumstr.RemoveFirst
10706amc::FEnumstr* bh_enumstr_RemoveFirst(amc::FEnumstrLen& enumstr_len) __attribute__((nothrow));
10707// Reserve space in index for N more elements
10708// func:amc.FEnumstrLen.bh_enumstr.Reserve
10709void bh_enumstr_Reserve(amc::FEnumstrLen& enumstr_len, int n) __attribute__((nothrow));
10710
10711// Set all fields to initial values.
10712// func:amc.FEnumstrLen..Init
10713void FEnumstrLen_Init(amc::FEnumstrLen& enumstr_len);
10714// func:amc.FEnumstrLen.bh_enumstr_curs.Reserve
10715void enumstr_len_bh_enumstr_curs_Reserve(enumstr_len_bh_enumstr_curs &curs, int n);
10716// Reset cursor. If HEAP is non-empty, add its top element to CURS.
10717// func:amc.FEnumstrLen.bh_enumstr_curs.Reset
10718void enumstr_len_bh_enumstr_curs_Reset(enumstr_len_bh_enumstr_curs &curs, amc::FEnumstrLen &parent);
10719// Advance cursor.
10720// func:amc.FEnumstrLen.bh_enumstr_curs.Next
10721void enumstr_len_bh_enumstr_curs_Next(enumstr_len_bh_enumstr_curs &curs);
10722// Access current element. If not more elements, return NULL
10723// func:amc.FEnumstrLen.bh_enumstr_curs.Access
10724amc::FEnumstr& enumstr_len_bh_enumstr_curs_Access(enumstr_len_bh_enumstr_curs &curs) __attribute__((nothrow));
10725// Return true if Access() will return non-NULL.
10726// func:amc.FEnumstrLen.bh_enumstr_curs.ValidQ
10727bool enumstr_len_bh_enumstr_curs_ValidQ(enumstr_len_bh_enumstr_curs &curs) __attribute__((nothrow));
10728// func:amc.FEnumstrLen..Uninit
10729void FEnumstrLen_Uninit(amc::FEnumstrLen& enumstr_len) __attribute__((nothrow));
10730
10731// --- amc.FFalias
10732// create: amc.FDb.falias (Lary)
10733// access: amc.FField.c_falias (Ptr)
10734struct FFalias { // amc.FFalias
10735 algo::Smallstr100 field; //
10736 algo::Smallstr100 srcfield; //
10737 algo::Comment comment; //
10738 amc::FField* p_srcfield; // reference to parent row
10739private:
10740 friend amc::FFalias& falias_Alloc() __attribute__((__warn_unused_result__, nothrow));
10741 friend amc::FFalias* falias_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10742 friend void falias_RemoveAll() __attribute__((nothrow));
10743 friend void falias_RemoveLast() __attribute__((nothrow));
10744 FFalias();
10745 ~FFalias();
10746 FFalias(const FFalias&){ /*disallow copy constructor */}
10747 void operator =(const FFalias&){ /*disallow direct assignment */}
10748};
10749
10750// Copy fields out of row
10751// func:amc.FFalias.base.CopyOut
10752void falias_CopyOut(amc::FFalias &row, dmmeta::Falias &out) __attribute__((nothrow));
10753// Copy fields in to row
10754// func:amc.FFalias.base.CopyIn
10755void falias_CopyIn(amc::FFalias &row, dmmeta::Falias &in) __attribute__((nothrow));
10756
10757// Set all fields to initial values.
10758// func:amc.FFalias..Init
10759void FFalias_Init(amc::FFalias& falias);
10760// func:amc.FFalias..Uninit
10761void FFalias_Uninit(amc::FFalias& falias) __attribute__((nothrow));
10762
10763// --- amc.FFbase
10764// create: amc.FDb.fbase (Lary)
10765// access: amc.FField.c_fbase (Ptr)
10766struct FFbase { // amc.FFbase
10767 algo::Smallstr100 field; //
10768 bool stripcomment; // false
10769 algo::Comment comment; //
10770private:
10771 friend amc::FFbase& fbase_Alloc() __attribute__((__warn_unused_result__, nothrow));
10772 friend amc::FFbase* fbase_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10773 friend void fbase_RemoveAll() __attribute__((nothrow));
10774 friend void fbase_RemoveLast() __attribute__((nothrow));
10775 FFbase();
10776 ~FFbase();
10777 FFbase(const FFbase&){ /*disallow copy constructor */}
10778 void operator =(const FFbase&){ /*disallow direct assignment */}
10779};
10780
10781// Copy fields out of row
10782// func:amc.FFbase.base.CopyOut
10783void fbase_CopyOut(amc::FFbase &row, dmmeta::Fbase &out) __attribute__((nothrow));
10784// Copy fields in to row
10785// func:amc.FFbase.base.CopyIn
10786void fbase_CopyIn(amc::FFbase &row, dmmeta::Fbase &in) __attribute__((nothrow));
10787
10788// Set all fields to initial values.
10789// func:amc.FFbase..Init
10790void FFbase_Init(amc::FFbase& fbase);
10791// func:amc.FFbase..Uninit
10792void FFbase_Uninit(amc::FFbase& fbase) __attribute__((nothrow));
10793
10794// --- amc.FFbigend
10795// create: amc.FDb.fbigend (Lary)
10796// access: amc.FField.c_fbigend (Ptr)
10797struct FFbigend { // amc.FFbigend
10798 algo::Smallstr100 field; //
10799 algo::Comment comment; //
10800 amc::FField* p_field; // reference to parent row
10801private:
10802 friend amc::FFbigend& fbigend_Alloc() __attribute__((__warn_unused_result__, nothrow));
10803 friend amc::FFbigend* fbigend_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10804 friend void fbigend_RemoveLast() __attribute__((nothrow));
10805 FFbigend();
10806 ~FFbigend();
10807 FFbigend(const FFbigend&){ /*disallow copy constructor */}
10808 void operator =(const FFbigend&){ /*disallow direct assignment */}
10809};
10810
10811// Copy fields out of row
10812// func:amc.FFbigend.msghdr.CopyOut
10813void fbigend_CopyOut(amc::FFbigend &row, dmmeta::Fbigend &out) __attribute__((nothrow));
10814// Copy fields in to row
10815// func:amc.FFbigend.msghdr.CopyIn
10816void fbigend_CopyIn(amc::FFbigend &row, dmmeta::Fbigend &in) __attribute__((nothrow));
10817
10818// Set all fields to initial values.
10819// func:amc.FFbigend..Init
10820void FFbigend_Init(amc::FFbigend& fbigend);
10821// func:amc.FFbigend..Uninit
10822void FFbigend_Uninit(amc::FFbigend& fbigend) __attribute__((nothrow));
10823
10824// --- amc.FFbitset
10825// create: amc.FDb.fbitset (Lary)
10826// global access: ind_fbitset (Thash)
10827// access: amc.FField.c_fbitset (Ptr)
10828struct FFbitset { // amc.FFbitset
10829 amc::FFbitset* ind_fbitset_next; // hash next
10830 algo::Smallstr100 field; //
10831 amc::FField* p_field; // reference to parent row
10832private:
10833 friend amc::FFbitset& fbitset_Alloc() __attribute__((__warn_unused_result__, nothrow));
10834 friend amc::FFbitset* fbitset_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10835 friend void fbitset_RemoveLast() __attribute__((nothrow));
10836 FFbitset();
10837 ~FFbitset();
10838 FFbitset(const FFbitset&){ /*disallow copy constructor */}
10839 void operator =(const FFbitset&){ /*disallow direct assignment */}
10840};
10841
10842// Copy fields out of row
10843// func:amc.FFbitset.msghdr.CopyOut
10844void fbitset_CopyOut(amc::FFbitset &row, dmmeta::Fbitset &out) __attribute__((nothrow));
10845// Copy fields in to row
10846// func:amc.FFbitset.msghdr.CopyIn
10847void fbitset_CopyIn(amc::FFbitset &row, dmmeta::Fbitset &in) __attribute__((nothrow));
10848
10849// Set all fields to initial values.
10850// func:amc.FFbitset..Init
10851void FFbitset_Init(amc::FFbitset& fbitset);
10852// func:amc.FFbitset..Uninit
10853void FFbitset_Uninit(amc::FFbitset& fbitset) __attribute__((nothrow));
10854
10855// --- amc.FFbuf
10856// create: amc.FDb.fbuf (Lary)
10857// global access: ind_fbuf (Thash)
10858// access: amc.FField.c_fbuf (Ptr)
10859struct FFbuf { // amc.FFbuf
10860 amc::FFbuf* ind_fbuf_next; // hash next
10861 algo::Smallstr100 field; //
10862 u32 max; // 0 Size of buffer in bytes
10863 algo::Smallstr50 fbuftype; // Type of buffer
10864 algo::Smallstr100 insready; //
10865 algo::Smallstr100 inseof; //
10866 amc::FField* p_insready; // reference to parent row
10867 amc::FField* p_inseof; // reference to parent row
10868private:
10869 friend amc::FFbuf& fbuf_Alloc() __attribute__((__warn_unused_result__, nothrow));
10870 friend amc::FFbuf* fbuf_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10871 friend void fbuf_RemoveLast() __attribute__((nothrow));
10872 FFbuf();
10873 ~FFbuf();
10874 FFbuf(const FFbuf&){ /*disallow copy constructor */}
10875 void operator =(const FFbuf&){ /*disallow direct assignment */}
10876};
10877
10878// Copy fields out of row
10879// func:amc.FFbuf.msghdr.CopyOut
10880void fbuf_CopyOut(amc::FFbuf &row, dmmeta::Fbuf &out) __attribute__((nothrow));
10881// Copy fields in to row
10882// func:amc.FFbuf.msghdr.CopyIn
10883void fbuf_CopyIn(amc::FFbuf &row, dmmeta::Fbuf &in) __attribute__((nothrow));
10884
10885// func:amc.FFbuf.fbufdir.Get
10886algo::Smallstr50 fbufdir_Get(amc::FFbuf& fbuf) __attribute__((__warn_unused_result__, nothrow));
10887
10888// Set all fields to initial values.
10889// func:amc.FFbuf..Init
10890void FFbuf_Init(amc::FFbuf& fbuf);
10891// func:amc.FFbuf..Uninit
10892void FFbuf_Uninit(amc::FFbuf& fbuf) __attribute__((nothrow));
10893
10894// --- amc.FFcast
10895// create: amc.FDb.fcast (Lary)
10896// access: amc.FField.c_fcast (Ptr)
10897struct FFcast { // amc.FFcast
10898 algo::Smallstr100 field; //
10899 algo::Smallstr100 expr; //
10900private:
10901 friend amc::FFcast& fcast_Alloc() __attribute__((__warn_unused_result__, nothrow));
10902 friend amc::FFcast* fcast_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10903 friend void fcast_RemoveLast() __attribute__((nothrow));
10904 FFcast();
10905 ~FFcast();
10906 FFcast(const FFcast&){ /*disallow copy constructor */}
10907 void operator =(const FFcast&){ /*disallow direct assignment */}
10908};
10909
10910// Copy fields out of row
10911// func:amc.FFcast.msghdr.CopyOut
10912void fcast_CopyOut(amc::FFcast &row, dmmeta::Fcast &out) __attribute__((nothrow));
10913// Copy fields in to row
10914// func:amc.FFcast.msghdr.CopyIn
10915void fcast_CopyIn(amc::FFcast &row, dmmeta::Fcast &in) __attribute__((nothrow));
10916
10917// func:amc.FFcast..Uninit
10918void FFcast_Uninit(amc::FFcast& fcast) __attribute__((nothrow));
10919
10920// --- amc.FFcleanup
10921// create: amc.FDb.fcleanup (Lary)
10922// access: amc.FField.c_fcleanup (Ptr)
10923struct FFcleanup { // amc.FFcleanup
10924 algo::Smallstr100 field; //
10925 amc::FField* p_field; // reference to parent row
10926private:
10927 friend amc::FFcleanup& fcleanup_Alloc() __attribute__((__warn_unused_result__, nothrow));
10928 friend amc::FFcleanup* fcleanup_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10929 friend void fcleanup_RemoveLast() __attribute__((nothrow));
10930 FFcleanup();
10931 ~FFcleanup();
10932 FFcleanup(const FFcleanup&){ /*disallow copy constructor */}
10933 void operator =(const FFcleanup&){ /*disallow direct assignment */}
10934};
10935
10936// Copy fields out of row
10937// func:amc.FFcleanup.msghdr.CopyOut
10938void fcleanup_CopyOut(amc::FFcleanup &row, dmmeta::Fcleanup &out) __attribute__((nothrow));
10939// Copy fields in to row
10940// func:amc.FFcleanup.msghdr.CopyIn
10941void fcleanup_CopyIn(amc::FFcleanup &row, dmmeta::Fcleanup &in) __attribute__((nothrow));
10942
10943// Set all fields to initial values.
10944// func:amc.FFcleanup..Init
10945void FFcleanup_Init(amc::FFcleanup& fcleanup);
10946// func:amc.FFcleanup..Uninit
10947void FFcleanup_Uninit(amc::FFcleanup& fcleanup) __attribute__((nothrow));
10948
10949// --- amc.FFcmap
10950// create: amc.FDb.fcmap (Lary)
10951// global access: ind_fcmap (Thash)
10952// access: amc.FField.zs_fcmap (Llist)
10953struct FFcmap { // amc.FFcmap
10954 amc::FFcmap* ind_fcmap_next; // hash next
10955 algo::Smallstr250 fcmap; // cstring maybe?
10956 bool bidir; // true
10957 algo::Comment comment; //
10958 amc::FField* p_leftField; // reference to parent row
10959 amc::FField* p_rightField; // reference to parent row
10960 amc::FFunc* c_convfunc; // Generated conversion func. optional pointer
10961 amc::FFcmap* zs_fcmap_next; // zslist link; -1 means not-in-list
10962private:
10963 friend amc::FFcmap& fcmap_Alloc() __attribute__((__warn_unused_result__, nothrow));
10964 friend amc::FFcmap* fcmap_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10965 friend void fcmap_RemoveLast() __attribute__((nothrow));
10966 FFcmap();
10967 ~FFcmap();
10968 FFcmap(const FFcmap&){ /*disallow copy constructor */}
10969 void operator =(const FFcmap&){ /*disallow direct assignment */}
10970};
10971
10972// Copy fields out of row
10973// func:amc.FFcmap.base.CopyOut
10974void fcmap_CopyOut(amc::FFcmap &row, dmmeta::Fcmap &out) __attribute__((nothrow));
10975// Copy fields in to row
10976// func:amc.FFcmap.base.CopyIn
10977void fcmap_CopyIn(amc::FFcmap &row, dmmeta::Fcmap &in) __attribute__((nothrow));
10978
10979// func:amc.FFcmap.leftField.Get
10980algo::Smallstr100 leftField_Get(amc::FFcmap& fcmap) __attribute__((__warn_unused_result__, nothrow));
10981
10982// func:amc.FFcmap.leftVal.Get
10983algo::Smallstr40 leftVal_Get(amc::FFcmap& fcmap) __attribute__((__warn_unused_result__, nothrow));
10984
10985// func:amc.FFcmap.rightVal.Get
10986algo::Smallstr40 rightVal_Get(amc::FFcmap& fcmap) __attribute__((__warn_unused_result__, nothrow));
10987
10988// func:amc.FFcmap.rightField.Get
10989algo::Smallstr100 rightField_Get(amc::FFcmap& fcmap) __attribute__((__warn_unused_result__, nothrow));
10990
10991// Set all fields to initial values.
10992// func:amc.FFcmap..Init
10993void FFcmap_Init(amc::FFcmap& fcmap);
10994// func:amc.FFcmap..Uninit
10995void FFcmap_Uninit(amc::FFcmap& fcmap) __attribute__((nothrow));
10996
10997// --- amc.FFcmdline
10998// create: amc.FDb.fcmdline (Lary)
10999// access: amc.FNs.c_fcmdline (Ptr)
11000struct FFcmdline { // amc.FFcmdline
11001 algo::Smallstr100 field; // Parent field
11002 bool read; // true Read the command line automatically from main?
11003 algo::Smallstr100 basecmdline; // Optional command line to merge with this one
11004 algo::Comment comment; //
11005 amc::FField* p_field; // reference to parent row
11006 amc::FNs* p_ns; // reference to parent row
11007 amc::FField* p_basecmdline; // reference to parent row
11008private:
11009 friend amc::FFcmdline& fcmdline_Alloc() __attribute__((__warn_unused_result__, nothrow));
11010 friend amc::FFcmdline* fcmdline_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11011 friend void fcmdline_RemoveLast() __attribute__((nothrow));
11012 FFcmdline();
11013 ~FFcmdline();
11014 FFcmdline(const FFcmdline&){ /*disallow copy constructor */}
11015 void operator =(const FFcmdline&){ /*disallow direct assignment */}
11016};
11017
11018// Copy fields out of row
11019// func:amc.FFcmdline.base.CopyOut
11020void fcmdline_CopyOut(amc::FFcmdline &row, dmmeta::Fcmdline &out) __attribute__((nothrow));
11021// Copy fields in to row
11022// func:amc.FFcmdline.base.CopyIn
11023void fcmdline_CopyIn(amc::FFcmdline &row, dmmeta::Fcmdline &in) __attribute__((nothrow));
11024
11025// func:amc.FFcmdline.ns.Get
11026algo::Smallstr16 ns_Get(amc::FFcmdline& fcmdline) __attribute__((__warn_unused_result__, nothrow));
11027
11028// Set all fields to initial values.
11029// func:amc.FFcmdline..Init
11030void FFcmdline_Init(amc::FFcmdline& fcmdline);
11031// func:amc.FFcmdline..Uninit
11032void FFcmdline_Uninit(amc::FFcmdline& fcmdline) __attribute__((nothrow));
11033
11034// --- amc.FFcmp
11035// create: amc.FDb.fcmp (Lary)
11036// access: amc.FField.c_fcmp (Ptr)
11037struct FFcmp { // amc.FFcmp
11038 algo::Smallstr100 field; // Target field
11039 bool versionsort; // false Use version sort (detect embedded integers in string)
11040 bool casesens; // true Comparison is case-sensitive
11041 bool extrn; // false Whether implementation is external
11042 algo::Comment comment; //
11043private:
11044 friend amc::FFcmp& fcmp_Alloc() __attribute__((__warn_unused_result__, nothrow));
11045 friend amc::FFcmp* fcmp_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11046 friend void fcmp_RemoveLast() __attribute__((nothrow));
11047 FFcmp();
11048 ~FFcmp();
11049 FFcmp(const FFcmp&){ /*disallow copy constructor */}
11050 void operator =(const FFcmp&){ /*disallow direct assignment */}
11051};
11052
11053// Copy fields out of row
11054// func:amc.FFcmp.msghdr.CopyOut
11055void fcmp_CopyOut(amc::FFcmp &row, dmmeta::Fcmp &out) __attribute__((nothrow));
11056// Copy fields in to row
11057// func:amc.FFcmp.msghdr.CopyIn
11058void fcmp_CopyIn(amc::FFcmp &row, dmmeta::Fcmp &in) __attribute__((nothrow));
11059
11060// Set all fields to initial values.
11061// func:amc.FFcmp..Init
11062void FFcmp_Init(amc::FFcmp& fcmp);
11063// func:amc.FFcmp..Uninit
11064void FFcmp_Uninit(amc::FFcmp& fcmp) __attribute__((nothrow));
11065
11066// --- amc.FFcompact
11067// create: amc.FDb.fcompact (Lary)
11068// access: amc.FField.c_fcompact (Ptr)
11069struct FFcompact { // amc.FFcompact
11070 algo::Smallstr100 field; //
11071 algo::Comment comment; //
11072private:
11073 friend amc::FFcompact& fcompact_Alloc() __attribute__((__warn_unused_result__, nothrow));
11074 friend amc::FFcompact* fcompact_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11075 friend void fcompact_RemoveLast() __attribute__((nothrow));
11076 FFcompact();
11077 ~FFcompact();
11078 FFcompact(const FFcompact&){ /*disallow copy constructor */}
11079 void operator =(const FFcompact&){ /*disallow direct assignment */}
11080};
11081
11082// Copy fields out of row
11083// func:amc.FFcompact.base.CopyOut
11084void fcompact_CopyOut(amc::FFcompact &row, dmmeta::Fcompact &out) __attribute__((nothrow));
11085// Copy fields in to row
11086// func:amc.FFcompact.base.CopyIn
11087void fcompact_CopyIn(amc::FFcompact &row, dmmeta::Fcompact &in) __attribute__((nothrow));
11088
11089// func:amc.FFcompact..Uninit
11090void FFcompact_Uninit(amc::FFcompact& fcompact) __attribute__((nothrow));
11091
11092// --- amc.FFconst
11093// create: amc.FDb.fconst (Lary)
11094// global access: ind_fconst (Thash)
11095// global access: ind_fconst_int (Thash)
11096// access: amc.FEnumstr.c_fconst (Ptrary)
11097// access: amc.FField.c_fconst (Ptrary)
11098// access: amc.FField.c_inkey_fconst (Ptr)
11099struct FFconst { // amc.FFconst
11100 amc::FFconst* ind_fconst_next; // hash next
11101 amc::FFconst* ind_fconst_int_next; // hash next
11102 algo::Smallstr100 fconst; //
11103 algo::CppExpr value; //
11104 algo::Comment comment; //
11105 amc::FField* p_field; // reference to parent row
11106 algo::cstring cpp_value; //
11107 i64 int_val; // 0 integer value
11108 algo::cstring cpp_name; // symbol to use in cpp file
11109 bool field_c_fconst_in_ary; // false membership flag
11110private:
11111 friend amc::FFconst& fconst_Alloc() __attribute__((__warn_unused_result__, nothrow));
11112 friend amc::FFconst* fconst_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11113 friend void fconst_RemoveLast() __attribute__((nothrow));
11114 FFconst();
11115 ~FFconst();
11116 FFconst(const FFconst&){ /*disallow copy constructor */}
11117 void operator =(const FFconst&){ /*disallow direct assignment */}
11118};
11119
11120// Copy fields out of row
11121// func:amc.FFconst.msghdr.CopyOut
11122void fconst_CopyOut(amc::FFconst &row, dmmeta::Fconst &out) __attribute__((nothrow));
11123// Copy fields in to row
11124// func:amc.FFconst.msghdr.CopyIn
11125void fconst_CopyIn(amc::FFconst &row, dmmeta::Fconst &in) __attribute__((nothrow));
11126
11127// func:amc.FFconst.field.Get
11128algo::Smallstr100 field_Get(amc::FFconst& fconst) __attribute__((__warn_unused_result__, nothrow));
11129
11130// func:amc.FFconst.name.Get
11131algo::Smallstr100 name_Get(amc::FFconst& fconst) __attribute__((__warn_unused_result__, nothrow));
11132
11133// Set all fields to initial values.
11134// func:amc.FFconst..Init
11135void FFconst_Init(amc::FFconst& fconst);
11136// func:amc.FFconst..Uninit
11137void FFconst_Uninit(amc::FFconst& fconst) __attribute__((nothrow));
11138
11139// --- amc.FFcurs
11140// create: amc.FDb.fcurs (Lary)
11141// global access: ind_fcurs (Thash)
11142// access: amc.FCtype.c_fcurs (Ptrary)
11143struct FFcurs { // amc.FFcurs
11144 amc::FFcurs* ind_fcurs_next; // hash next
11145 algo::Smallstr50 fcurs; //
11146 algo::Comment comment; //
11147 amc::FField* p_field; // reference to parent row
11148 bool ctype_c_fcurs_in_ary; // false membership flag
11149private:
11150 friend amc::FFcurs& fcurs_Alloc() __attribute__((__warn_unused_result__, nothrow));
11151 friend amc::FFcurs* fcurs_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11152 friend void fcurs_RemoveLast() __attribute__((nothrow));
11153 FFcurs();
11154 ~FFcurs();
11155 FFcurs(const FFcurs&){ /*disallow copy constructor */}
11156 void operator =(const FFcurs&){ /*disallow direct assignment */}
11157};
11158
11159// Copy fields out of row
11160// func:amc.FFcurs.base.CopyOut
11161void fcurs_CopyOut(amc::FFcurs &row, dmmeta::Fcurs &out) __attribute__((nothrow));
11162// Copy fields in to row
11163// func:amc.FFcurs.base.CopyIn
11164void fcurs_CopyIn(amc::FFcurs &row, dmmeta::Fcurs &in) __attribute__((nothrow));
11165
11166// func:amc.FFcurs.field.Get
11167algo::Smallstr100 field_Get(amc::FFcurs& fcurs) __attribute__((__warn_unused_result__, nothrow));
11168
11169// func:amc.FFcurs.ctype.Get
11170algo::Smallstr100 ctype_Get(amc::FFcurs& fcurs) __attribute__((__warn_unused_result__, nothrow));
11171
11172// func:amc.FFcurs.curstype.Get
11173algo::Smallstr50 curstype_Get(amc::FFcurs& fcurs) __attribute__((__warn_unused_result__, nothrow));
11174
11175// Set all fields to initial values.
11176// func:amc.FFcurs..Init
11177void FFcurs_Init(amc::FFcurs& fcurs);
11178// func:amc.FFcurs..Uninit
11179void FFcurs_Uninit(amc::FFcurs& fcurs) __attribute__((nothrow));
11180
11181// --- amc.FFdec
11182// create: amc.FDb.fdec (Lary)
11183// global access: ind_fdec (Thash)
11184// access: amc.FField.c_fdec (Ptr)
11185struct FFdec { // amc.FFdec
11186 amc::FFdec* ind_fdec_next; // hash next
11187 algo::Smallstr100 field; // Target field
11188 i32 nplace; // 0 Number of implied decimal places
11189 bool fixedfmt; // false Print exactly SCALE chars after decimal point
11190 amc::FField* p_field; // reference to parent row
11191private:
11192 friend amc::FFdec& fdec_Alloc() __attribute__((__warn_unused_result__, nothrow));
11193 friend amc::FFdec* fdec_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11194 friend void fdec_RemoveLast() __attribute__((nothrow));
11195 FFdec();
11196 ~FFdec();
11197 FFdec(const FFdec&){ /*disallow copy constructor */}
11198 void operator =(const FFdec&){ /*disallow direct assignment */}
11199};
11200
11201// Copy fields out of row
11202// func:amc.FFdec.msghdr.CopyOut
11203void fdec_CopyOut(amc::FFdec &row, dmmeta::Fdec &out) __attribute__((nothrow));
11204// Copy fields in to row
11205// func:amc.FFdec.msghdr.CopyIn
11206void fdec_CopyIn(amc::FFdec &row, dmmeta::Fdec &in) __attribute__((nothrow));
11207
11208// Set all fields to initial values.
11209// func:amc.FFdec..Init
11210void FFdec_Init(amc::FFdec& fdec);
11211// func:amc.FFdec..Uninit
11212void FFdec_Uninit(amc::FFdec& fdec) __attribute__((nothrow));
11213
11214// --- amc.FFdelay
11215// create: amc.FDb.fdelay (Lary)
11216// access: amc.FFstep.c_fdelay (Ptr)
11217struct FFdelay { // amc.FFdelay
11218 algo::Smallstr100 fstep; //
11219 algo::I64Dec9 delay; // Delay between steps in seconds
11220 bool scale; // false Does delay apply to the whole list?
11221private:
11222 friend amc::FFdelay& fdelay_Alloc() __attribute__((__warn_unused_result__, nothrow));
11223 friend amc::FFdelay* fdelay_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11224 friend void fdelay_RemoveLast() __attribute__((nothrow));
11225 FFdelay();
11226 ~FFdelay();
11227 FFdelay(const FFdelay&){ /*disallow copy constructor */}
11228 void operator =(const FFdelay&){ /*disallow direct assignment */}
11229};
11230
11231// Copy fields out of row
11232// func:amc.FFdelay.msghdr.CopyOut
11233void fdelay_CopyOut(amc::FFdelay &row, dmmeta::Fdelay &out) __attribute__((nothrow));
11234// Copy fields in to row
11235// func:amc.FFdelay.msghdr.CopyIn
11236void fdelay_CopyIn(amc::FFdelay &row, dmmeta::Fdelay &in) __attribute__((nothrow));
11237
11238// Set all fields to initial values.
11239// func:amc.FFdelay..Init
11240void FFdelay_Init(amc::FFdelay& fdelay);
11241// func:amc.FFdelay..Uninit
11242void FFdelay_Uninit(amc::FFdelay& fdelay) __attribute__((nothrow));
11243
11244// --- amc.FFfast
11245// create: amc.FDb.ffast (Lary)
11246// access: amc.FCtype.c_ffast (Ptrary)
11247// access: amc.FField.c_ffast_field (Ptr)
11248// access: amc.FField.c_ffast_length (Ptr)
11249// access: amc.FField.c_ffast_mantissa (Ptr)
11250// access: amc.FField.c_ffast (Ptrary)
11251struct FFfast { // amc.FFfast
11252 algo::Smallstr100 ffast; //
11253 algo::Smallstr50 name; //
11254 u32 id; // 0
11255 u32 pos; // 0
11256 bool optional; // false
11257 algo::Smallstr50 encoding; //
11258 algo::Smallstr50 op; //
11259 algo::CppExpr value; //
11260 algo::Comment comment; //
11261 amc::FField* p_field; // reference to parent row
11262 bool ctype_c_ffast_in_ary; // false membership flag
11263 bool field_c_ffast_in_ary; // false membership flag
11264private:
11265 friend amc::FFfast& ffast_Alloc() __attribute__((__warn_unused_result__, nothrow));
11266 friend amc::FFfast* ffast_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11267 friend void ffast_RemoveAll() __attribute__((nothrow));
11268 friend void ffast_RemoveLast() __attribute__((nothrow));
11269 FFfast();
11270 ~FFfast();
11271 FFfast(const FFfast&){ /*disallow copy constructor */}
11272 void operator =(const FFfast&){ /*disallow direct assignment */}
11273};
11274
11275// Copy fields out of row
11276// func:amc.FFfast.base.CopyOut
11277void ffast_CopyOut(amc::FFfast &row, dmmeta::Ffast &out) __attribute__((nothrow));
11278// Copy fields in to row
11279// func:amc.FFfast.base.CopyIn
11280void ffast_CopyIn(amc::FFfast &row, dmmeta::Ffast &in) __attribute__((nothrow));
11281
11282// func:amc.FFfast.field.Get
11283algo::Smallstr100 field_Get(amc::FFfast& ffast) __attribute__((__warn_unused_result__, nothrow));
11284
11285// func:amc.FFfast.ctype.Get
11286algo::Smallstr100 ctype_Get(amc::FFfast& ffast) __attribute__((__warn_unused_result__, nothrow));
11287
11288// func:amc.FFfast.fastinstr.Get
11289algo::Smallstr50 fastinstr_Get(amc::FFfast& ffast) __attribute__((__warn_unused_result__, nothrow));
11290
11291// Set all fields to initial values.
11292// func:amc.FFfast..Init
11293void FFfast_Init(amc::FFfast& ffast);
11294// func:amc.FFfast..Uninit
11295void FFfast_Uninit(amc::FFfast& ffast) __attribute__((nothrow));
11296
11297// --- amc.FFflag
11298// create: amc.FDb.fflag (Lary)
11299// global access: ind_fflag (Thash)
11300// access: amc.FField.c_fflag (Ptr)
11301struct FFflag { // amc.FFflag
11302 amc::FFflag* ind_fflag_next; // hash next
11303 algo::Smallstr100 field; //
11304 bool cumulative; // false Accumulate on every read
11305 algo::cstring emptyval; // ""
11306 algo::Comment comment; //
11307private:
11308 friend amc::FFflag& fflag_Alloc() __attribute__((__warn_unused_result__, nothrow));
11309 friend amc::FFflag* fflag_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11310 friend void fflag_RemoveAll() __attribute__((nothrow));
11311 friend void fflag_RemoveLast() __attribute__((nothrow));
11312 FFflag();
11313 ~FFflag();
11314 FFflag(const FFflag&){ /*disallow copy constructor */}
11315 void operator =(const FFflag&){ /*disallow direct assignment */}
11316};
11317
11318// Copy fields out of row
11319// func:amc.FFflag.base.CopyOut
11320void fflag_CopyOut(amc::FFflag &row, dmmeta::Fflag &out) __attribute__((nothrow));
11321// Copy fields in to row
11322// func:amc.FFflag.base.CopyIn
11323void fflag_CopyIn(amc::FFflag &row, dmmeta::Fflag &in) __attribute__((nothrow));
11324
11325// Set all fields to initial values.
11326// func:amc.FFflag..Init
11327void FFflag_Init(amc::FFflag& fflag);
11328// func:amc.FFflag..Uninit
11329void FFflag_Uninit(amc::FFflag& fflag) __attribute__((nothrow));
11330
11331// --- amc.FField
11332// create: amc.FDb.field (Lary)
11333// global access: ind_field (Thash)
11334// global access: c_malloc (Ptr)
11335// global access: zs_ordkeyfield (Llist)
11336// global access: c_tempfield (Ptrary)
11337// access: amc.FBasepool.p_field (Upptr)
11338// access: amc.FBasepool.p_base (Upptr)
11339// access: amc.FBitfld.p_srcfield (Upptr)
11340// access: amc.FBitfld.p_field (Upptr)
11341// access: amc.FCascdel.p_field (Upptr)
11342// access: amc.FCtype.c_field (Ptrary)
11343// access: amc.FCtype.c_varlenfld (Ptr)
11344// access: amc.FCtype.c_optfld (Ptr)
11345// access: amc.FCtype.c_datafld (Ptrary)
11346// access: amc.FCtype.zd_inst (Llist)
11347// access: amc.FCtype.zd_access (Llist)
11348// access: amc.FCtype.c_pkeyfield (Ptr)
11349// access: amc.FFalias.p_srcfield (Upptr)
11350// access: amc.FFbigend.p_field (Upptr)
11351// access: amc.FFbitset.p_field (Upptr)
11352// access: amc.FFbuf.p_insready (Upptr)
11353// access: amc.FFbuf.p_inseof (Upptr)
11354// access: amc.FFcleanup.p_field (Upptr)
11355// access: amc.FFcmap.p_leftField (Upptr)
11356// access: amc.FFcmap.p_rightField (Upptr)
11357// access: amc.FFcmdline.p_field (Upptr)
11358// access: amc.FFcmdline.p_basecmdline (Upptr)
11359// access: amc.FFconst.p_field (Upptr)
11360// access: amc.FFcurs.p_field (Upptr)
11361// access: amc.FFdec.p_field (Upptr)
11362// access: amc.FFfast.p_field (Upptr)
11363// access: amc.FFinput.p_field (Upptr)
11364// access: amc.FFldoffset.p_field (Upptr)
11365// access: amc.FFloadtuples.p_field (Upptr)
11366// access: amc.FFsort.p_field (Upptr)
11367// access: amc.FFsort.p_sortfld (Upptr)
11368// access: amc.FFstep.p_field (Upptr)
11369// access: amc.FGconst.p_namefld (Upptr)
11370// access: amc.FGconst.p_field (Upptr)
11371// access: amc.FGstatic.p_field (Upptr)
11372// access: amc.FHook.p_field (Upptr)
11373// access: amc.FLenfld.p_field (Upptr)
11374// access: amc.FNs.c_globfld (Ptr)
11375// access: amc.FNsx.p_pool (Upptr)
11376// access: amc.FPmaskfld.p_field (Upptr)
11377// access: amc.FPmaskfldMember.p_field (Upptr)
11378// access: amc.FPtrary.p_field (Upptr)
11379// access: amc.FSmallstr.p_field (Upptr)
11380// access: amc.FSortfld.p_sortfld (Upptr)
11381// access: amc.FSsimsort.p_sortfld (Upptr)
11382// access: amc.FSubstr.p_field (Upptr)
11383// access: amc.FSubstr.p_srcfield (Upptr)
11384// access: amc.FTary.p_field (Upptr)
11385// access: amc.FThash.p_hashfld (Upptr)
11386// access: amc.FThash.p_field (Upptr)
11387// access: amc.FTypefld.p_field (Upptr)
11388// access: amc.FXref.p_field (Upptr)
11389// access: amc.FXref.p_viafld (Upptr)
11390// access: amc.FXref.p_keyfld (Upptr)
11391// access: amc.Genctx.p_field (Upptr)
11392// access: amc.Genpnew.p_optfld (Upptr)
11393// access: amc.Genpnew.p_varlenfld (Upptr)
11394struct FField { // amc.FField
11395 amc::FField* zd_inst_next; // zslist link; -1 means not-in-list
11396 amc::FField* zd_inst_prev; // previous element
11397 amc::FField* zd_access_next; // zslist link; -1 means not-in-list
11398 amc::FField* zd_access_prev; // previous element
11399 amc::FField* ind_field_next; // hash next
11400 amc::FField* zs_ordkeyfield_next; // zslist link; -1 means not-in-list
11401 algo::Smallstr100 field; // Primary key, as ctype.name
11402 algo::Smallstr100 arg; // Type of field
11403 algo::Smallstr50 reftype; // "Val" Type constructor
11404 algo::CppExpr dflt; // Default value (c++ expression)
11405 algo::Comment comment; //
11406 amc::FFsort* c_fsort; // optional pointer
11407 amc::FFbitset* c_fbitset; // optional pointer
11408 amc::FSmallstr* c_smallstr; // optional pointer
11409 amc::FFunc** c_ffunc_elems; // array of pointers
11410 u32 c_ffunc_n; // array of pointers
11411 u32 c_ffunc_max; // capacity of allocated array
11412 algo::cstring cpp_type; // C++ expression to use in declaration
11413 amc::FCtype* p_ctype; // reference to parent row
11414 amc::FCtype* p_arg; // reference to parent row
11415 amc::FXref* c_xref; // optional pointer
11416 amc::FAnonfld* c_anonfld; // optional pointer
11417 amc::FFldoffset* c_fldoffset; // optional pointer
11418 amc::FBasepool* c_basepool; // optional pointer
11419 amc::FLlist* c_llist; // optional pointer
11420 amc::FThash* c_thash; // optional pointer
11421 amc::FInlary* c_inlary; // optional pointer
11422 amc::FTary* c_tary; // optional pointer
11423 amc::FRowid* c_rowid; // optional pointer
11424 amc::FCascdel* c_cascdel; // optional pointer
11425 double rowid; // 0.0
11426 double child_rowid; // 0.0 Rowid increment for next child
11427 amc::FGstatic* c_gstatic; // optional pointer
11428 amc::FPtrary* c_ptrary; // optional pointer
11429 amc::FPmaskfld* c_pmaskfld; // optional pointer
11430 amc::FTypefld* c_typefld; // optional pointer
11431 amc::FFcleanup* c_fcleanup; // optional pointer
11432 amc::FFdec* c_fdec; // optional pointer
11433 amc::FReftype* p_reftype; // reference to parent row
11434 amc::FFconst** c_fconst_elems; // array of pointers
11435 u32 c_fconst_n; // array of pointers
11436 u32 c_fconst_max; // capacity of allocated array
11437 amc::FFinput* c_finput; // optional pointer
11438 amc::FFoutput* c_foutput; // optional pointer
11439 amc::FFbuf* c_fbuf; // optional pointer
11440 amc::FFbigend* c_fbigend; // optional pointer
11441 amc::FFstep* c_fstep; // optional pointer
11442 amc::FFregx* c_fregx; // optional pointer
11443 amc::FFcmp* c_fcmp; // optional pointer
11444 amc::FFcast* c_fcast; // optional pointer
11445 amc::FGconst* c_gconst; // optional pointer
11446 amc::FBitfld* c_bitfld; // optional pointer
11447 amc::FNoxref* c_noxref; // optional pointer
11448 amc::FCppfunc* c_cppfunc; // optional pointer
11449 amc::FSubstr* c_substr; // optional pointer
11450 amc::FFcompact* c_fcompact; // optional pointer
11451 amc::FFindrem* c_findrem; // optional pointer
11452 amc::FXref* zd_xref_keyfld_head; // zero-terminated doubly linked list
11453 i32 zd_xref_keyfld_n; // zero-terminated doubly linked list
11454 amc::FXref* zd_xref_keyfld_tail; // pointer to last element
11455 amc::FFcmap* zs_fcmap_head; // zero-terminated singly linked list
11456 amc::FFcmap* zs_fcmap_tail; // pointer to last element
11457 amc::FFconst* c_inkey_fconst; // optional pointer
11458 amc::FFbase* c_fbase; // optional pointer
11459 amc::FFnoremove* c_fnoremove; // optional pointer
11460 amc::FSortfld* c_sortfld; // optional pointer
11461 amc::FFtrace* c_ftrace; // optional pointer
11462 bool reflect; // false Want reflection
11463 bool ctype_read; // false Field is readable using its ctype's ReadStrptrMaybe function
11464 bool has_substr; // false
11465 bool need_firstchanged; // false
11466 bool do_trace; // false Enable tracing
11467 bool processed; // false
11468 bool synthetic; // false
11469 bool visit; // false Temporary flag
11470 amc::FHook* c_hook; // optional pointer
11471 amc::FCharset* c_charset; // optional pointer
11472 amc::FBitfld** bh_bitfld_elems; // binary heap by offset
11473 i32 bh_bitfld_n; // number of elements in the heap
11474 i32 bh_bitfld_max; // max elements in bh_bitfld_elems
11475 amc::FFunique* c_funique; // optional pointer
11476 amc::FFuserinit* c_fuserinit; // optional pointer
11477 amc::FFflag* c_fflag; // optional pointer
11478 amc::FFalias* c_falias; // optional pointer
11479 amc::FFfast* c_ffast_field; // optional pointer
11480 amc::FFfast* c_ffast_length; // optional pointer
11481 amc::FFfast* c_ffast_mantissa; // optional pointer
11482 amc::FFfast** c_ffast_elems; // array of pointers
11483 u32 c_ffast_n; // array of pointers
11484 u32 c_ffast_max; // capacity of allocated array
11485 amc::FPmaskfldMember** c_pmaskfld_member_elems; // array of pointers
11486 u32 c_pmaskfld_member_n; // array of pointers
11487 u32 c_pmaskfld_member_max; // capacity of allocated array
11488 bool ctype_c_datafld_in_ary; // false membership flag
11489 bool _db_c_tempfield_in_ary; // false membership flag
11490private:
11491 friend amc::FField& field_Alloc() __attribute__((__warn_unused_result__, nothrow));
11492 friend amc::FField* field_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11493 friend void field_RemoveLast() __attribute__((nothrow));
11494 FField();
11495 ~FField();
11496 FField(const FField&){ /*disallow copy constructor */}
11497 void operator =(const FField&){ /*disallow direct assignment */}
11498};
11499
11500// Copy fields out of row
11501// func:amc.FField.msghdr.CopyOut
11502void field_CopyOut(amc::FField &row, dmmeta::Field &out) __attribute__((nothrow));
11503// Copy fields in to row
11504// func:amc.FField.msghdr.CopyIn
11505void field_CopyIn(amc::FField &row, dmmeta::Field &in) __attribute__((nothrow));
11506
11507// func:amc.FField.ctype.Get
11508algo::Smallstr100 ctype_Get(amc::FField& field) __attribute__((__warn_unused_result__, nothrow));
11509
11510// func:amc.FField.ns.Get
11511algo::Smallstr16 ns_Get(amc::FField& field) __attribute__((__warn_unused_result__, nothrow));
11512
11513// func:amc.FField.name.Get
11514algo::Smallstr50 name_Get(amc::FField& field) __attribute__((__warn_unused_result__, nothrow));
11515
11516// Insert row into pointer index. Return final membership status.
11517// func:amc.FField.c_fsort.InsertMaybe
11518bool c_fsort_InsertMaybe(amc::FField& field, amc::FFsort& row) __attribute__((nothrow));
11519// Remove element from index. If element is not in index, do nothing.
11520// func:amc.FField.c_fsort.Remove
11521void c_fsort_Remove(amc::FField& field, amc::FFsort& row) __attribute__((nothrow));
11522
11523// Insert row into pointer index. Return final membership status.
11524// func:amc.FField.c_fbitset.InsertMaybe
11525bool c_fbitset_InsertMaybe(amc::FField& field, amc::FFbitset& row) __attribute__((nothrow));
11526// Remove element from index. If element is not in index, do nothing.
11527// func:amc.FField.c_fbitset.Remove
11528void c_fbitset_Remove(amc::FField& field, amc::FFbitset& row) __attribute__((nothrow));
11529
11530// Insert row into pointer index. Return final membership status.
11531// func:amc.FField.c_smallstr.InsertMaybe
11532bool c_smallstr_InsertMaybe(amc::FField& field, amc::FSmallstr& row) __attribute__((nothrow));
11533// Remove element from index. If element is not in index, do nothing.
11534// func:amc.FField.c_smallstr.Remove
11535void c_smallstr_Remove(amc::FField& field, amc::FSmallstr& row) __attribute__((nothrow));
11536
11537// Return true if index is empty
11538// func:amc.FField.c_ffunc.EmptyQ
11539bool c_ffunc_EmptyQ(amc::FField& field) __attribute__((nothrow));
11540// Look up row by row id. Return NULL if out of range
11541// func:amc.FField.c_ffunc.Find
11542amc::FFunc* c_ffunc_Find(amc::FField& field, u32 t) __attribute__((__warn_unused_result__, nothrow));
11543// Return array of pointers
11544// func:amc.FField.c_ffunc.Getary
11545algo::aryptr<amc::FFunc*> c_ffunc_Getary(amc::FField& field) __attribute__((nothrow));
11546// Insert pointer to row into array. Row must not already be in array.
11547// If pointer is already in the array, it may be inserted twice.
11548// func:amc.FField.c_ffunc.Insert
11549void c_ffunc_Insert(amc::FField& field, amc::FFunc& row) __attribute__((nothrow));
11550// Insert pointer to row in array.
11551// If row is already in the array, do nothing.
11552// Linear search is used to locate the element.
11553// Return value: whether element was inserted into array.
11554// func:amc.FField.c_ffunc.ScanInsertMaybe
11555bool c_ffunc_ScanInsertMaybe(amc::FField& field, amc::FFunc& row) __attribute__((nothrow));
11556// Return number of items in the pointer array
11557// func:amc.FField.c_ffunc.N
11558i32 c_ffunc_N(const amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11559// Find element using linear scan. If element is in array, remove, otherwise do nothing
11560// func:amc.FField.c_ffunc.Remove
11561void c_ffunc_Remove(amc::FField& field, amc::FFunc& row) __attribute__((nothrow));
11562// Empty the index. (The rows are not deleted)
11563// func:amc.FField.c_ffunc.RemoveAll
11564void c_ffunc_RemoveAll(amc::FField& field) __attribute__((nothrow));
11565// Reserve space in index for N more elements;
11566// func:amc.FField.c_ffunc.Reserve
11567void c_ffunc_Reserve(amc::FField& field, u32 n) __attribute__((nothrow));
11568// Return reference without bounds checking
11569// func:amc.FField.c_ffunc.qFind
11570amc::FFunc& c_ffunc_qFind(amc::FField& field, u32 idx) __attribute__((nothrow));
11571// Reference to last element without bounds checking
11572// func:amc.FField.c_ffunc.qLast
11573amc::FFunc& c_ffunc_qLast(amc::FField& field) __attribute__((nothrow));
11574
11575// Insert row into pointer index. Return final membership status.
11576// func:amc.FField.c_xref.InsertMaybe
11577bool c_xref_InsertMaybe(amc::FField& field, amc::FXref& row) __attribute__((nothrow));
11578// Remove element from index. If element is not in index, do nothing.
11579// func:amc.FField.c_xref.Remove
11580void c_xref_Remove(amc::FField& field, amc::FXref& row) __attribute__((nothrow));
11581
11582// Insert row into pointer index. Return final membership status.
11583// func:amc.FField.c_anonfld.InsertMaybe
11584bool c_anonfld_InsertMaybe(amc::FField& field, amc::FAnonfld& row) __attribute__((nothrow));
11585// Remove element from index. If element is not in index, do nothing.
11586// func:amc.FField.c_anonfld.Remove
11587void c_anonfld_Remove(amc::FField& field, amc::FAnonfld& row) __attribute__((nothrow));
11588
11589// Insert row into pointer index. Return final membership status.
11590// func:amc.FField.c_fldoffset.InsertMaybe
11591bool c_fldoffset_InsertMaybe(amc::FField& field, amc::FFldoffset& row) __attribute__((nothrow));
11592// Remove element from index. If element is not in index, do nothing.
11593// func:amc.FField.c_fldoffset.Remove
11594void c_fldoffset_Remove(amc::FField& field, amc::FFldoffset& row) __attribute__((nothrow));
11595
11596// Insert row into pointer index. Return final membership status.
11597// func:amc.FField.c_basepool.InsertMaybe
11598bool c_basepool_InsertMaybe(amc::FField& field, amc::FBasepool& row) __attribute__((nothrow));
11599// Remove element from index. If element is not in index, do nothing.
11600// func:amc.FField.c_basepool.Remove
11601void c_basepool_Remove(amc::FField& field, amc::FBasepool& row) __attribute__((nothrow));
11602
11603// Insert row into pointer index. Return final membership status.
11604// func:amc.FField.c_llist.InsertMaybe
11605bool c_llist_InsertMaybe(amc::FField& field, amc::FLlist& row) __attribute__((nothrow));
11606// Remove element from index. If element is not in index, do nothing.
11607// func:amc.FField.c_llist.Remove
11608void c_llist_Remove(amc::FField& field, amc::FLlist& row) __attribute__((nothrow));
11609
11610// Insert row into pointer index. Return final membership status.
11611// func:amc.FField.c_thash.InsertMaybe
11612bool c_thash_InsertMaybe(amc::FField& field, amc::FThash& row) __attribute__((nothrow));
11613// Remove element from index. If element is not in index, do nothing.
11614// func:amc.FField.c_thash.Remove
11615void c_thash_Remove(amc::FField& field, amc::FThash& row) __attribute__((nothrow));
11616
11617// Insert row into pointer index. Return final membership status.
11618// func:amc.FField.c_inlary.InsertMaybe
11619bool c_inlary_InsertMaybe(amc::FField& field, amc::FInlary& row) __attribute__((nothrow));
11620// Remove element from index. If element is not in index, do nothing.
11621// func:amc.FField.c_inlary.Remove
11622void c_inlary_Remove(amc::FField& field, amc::FInlary& row) __attribute__((nothrow));
11623
11624// Insert row into pointer index. Return final membership status.
11625// func:amc.FField.c_tary.InsertMaybe
11626bool c_tary_InsertMaybe(amc::FField& field, amc::FTary& row) __attribute__((nothrow));
11627// Remove element from index. If element is not in index, do nothing.
11628// func:amc.FField.c_tary.Remove
11629void c_tary_Remove(amc::FField& field, amc::FTary& row) __attribute__((nothrow));
11630
11631// Insert row into pointer index. Return final membership status.
11632// func:amc.FField.c_rowid.InsertMaybe
11633bool c_rowid_InsertMaybe(amc::FField& field, amc::FRowid& row) __attribute__((nothrow));
11634// Remove element from index. If element is not in index, do nothing.
11635// func:amc.FField.c_rowid.Remove
11636void c_rowid_Remove(amc::FField& field, amc::FRowid& row) __attribute__((nothrow));
11637
11638// Insert row into pointer index. Return final membership status.
11639// func:amc.FField.c_cascdel.InsertMaybe
11640bool c_cascdel_InsertMaybe(amc::FField& field, amc::FCascdel& row) __attribute__((nothrow));
11641// Remove element from index. If element is not in index, do nothing.
11642// func:amc.FField.c_cascdel.Remove
11643void c_cascdel_Remove(amc::FField& field, amc::FCascdel& row) __attribute__((nothrow));
11644
11645// Insert row into pointer index. Return final membership status.
11646// func:amc.FField.c_gstatic.InsertMaybe
11647bool c_gstatic_InsertMaybe(amc::FField& field, amc::FGstatic& row) __attribute__((nothrow));
11648// Remove element from index. If element is not in index, do nothing.
11649// func:amc.FField.c_gstatic.Remove
11650void c_gstatic_Remove(amc::FField& field, amc::FGstatic& row) __attribute__((nothrow));
11651
11652// Insert row into pointer index. Return final membership status.
11653// func:amc.FField.c_ptrary.InsertMaybe
11654bool c_ptrary_InsertMaybe(amc::FField& field, amc::FPtrary& row) __attribute__((nothrow));
11655// Remove element from index. If element is not in index, do nothing.
11656// func:amc.FField.c_ptrary.Remove
11657void c_ptrary_Remove(amc::FField& field, amc::FPtrary& row) __attribute__((nothrow));
11658
11659// Insert row into pointer index. Return final membership status.
11660// func:amc.FField.c_pmaskfld.InsertMaybe
11661bool c_pmaskfld_InsertMaybe(amc::FField& field, amc::FPmaskfld& row) __attribute__((nothrow));
11662// Remove element from index. If element is not in index, do nothing.
11663// func:amc.FField.c_pmaskfld.Remove
11664void c_pmaskfld_Remove(amc::FField& field, amc::FPmaskfld& row) __attribute__((nothrow));
11665
11666// Insert row into pointer index. Return final membership status.
11667// func:amc.FField.c_typefld.InsertMaybe
11668bool c_typefld_InsertMaybe(amc::FField& field, amc::FTypefld& row) __attribute__((nothrow));
11669// Remove element from index. If element is not in index, do nothing.
11670// func:amc.FField.c_typefld.Remove
11671void c_typefld_Remove(amc::FField& field, amc::FTypefld& row) __attribute__((nothrow));
11672
11673// Insert row into pointer index. Return final membership status.
11674// func:amc.FField.c_fcleanup.InsertMaybe
11675bool c_fcleanup_InsertMaybe(amc::FField& field, amc::FFcleanup& row) __attribute__((nothrow));
11676// Remove element from index. If element is not in index, do nothing.
11677// func:amc.FField.c_fcleanup.Remove
11678void c_fcleanup_Remove(amc::FField& field, amc::FFcleanup& row) __attribute__((nothrow));
11679
11680// Insert row into pointer index. Return final membership status.
11681// func:amc.FField.c_fdec.InsertMaybe
11682bool c_fdec_InsertMaybe(amc::FField& field, amc::FFdec& row) __attribute__((nothrow));
11683// Remove element from index. If element is not in index, do nothing.
11684// func:amc.FField.c_fdec.Remove
11685void c_fdec_Remove(amc::FField& field, amc::FFdec& row) __attribute__((nothrow));
11686
11687// Return true if index is empty
11688// func:amc.FField.c_fconst.EmptyQ
11689bool c_fconst_EmptyQ(amc::FField& field) __attribute__((nothrow));
11690// Look up row by row id. Return NULL if out of range
11691// func:amc.FField.c_fconst.Find
11692amc::FFconst* c_fconst_Find(amc::FField& field, u32 t) __attribute__((__warn_unused_result__, nothrow));
11693// Return array of pointers
11694// func:amc.FField.c_fconst.Getary
11695algo::aryptr<amc::FFconst*> c_fconst_Getary(amc::FField& field) __attribute__((nothrow));
11696// Insert pointer to row into array. Row must not already be in array.
11697// If pointer is already in the array, it may be inserted twice.
11698// func:amc.FField.c_fconst.Insert
11699void c_fconst_Insert(amc::FField& field, amc::FFconst& row) __attribute__((nothrow));
11700// Insert pointer to row in array.
11701// If row is already in the array, do nothing.
11702// Return value: whether element was inserted into array.
11703// func:amc.FField.c_fconst.InsertMaybe
11704bool c_fconst_InsertMaybe(amc::FField& field, amc::FFconst& row) __attribute__((nothrow));
11705// Return number of items in the pointer array
11706// func:amc.FField.c_fconst.N
11707i32 c_fconst_N(const amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11708// Find element using linear scan. If element is in array, remove, otherwise do nothing
11709// func:amc.FField.c_fconst.Remove
11710void c_fconst_Remove(amc::FField& field, amc::FFconst& row) __attribute__((nothrow));
11711// Empty the index. (The rows are not deleted)
11712// func:amc.FField.c_fconst.RemoveAll
11713void c_fconst_RemoveAll(amc::FField& field) __attribute__((nothrow));
11714// Reserve space in index for N more elements;
11715// func:amc.FField.c_fconst.Reserve
11716void c_fconst_Reserve(amc::FField& field, u32 n) __attribute__((nothrow));
11717// Return reference without bounds checking
11718// func:amc.FField.c_fconst.qFind
11719amc::FFconst& c_fconst_qFind(amc::FField& field, u32 idx) __attribute__((nothrow));
11720// True if row is in any ptrary instance
11721// func:amc.FField.c_fconst.InAryQ
11722bool field_c_fconst_InAryQ(amc::FFconst& row) __attribute__((nothrow));
11723// Reference to last element without bounds checking
11724// func:amc.FField.c_fconst.qLast
11725amc::FFconst& c_fconst_qLast(amc::FField& field) __attribute__((nothrow));
11726
11727// Insert row into pointer index. Return final membership status.
11728// func:amc.FField.c_finput.InsertMaybe
11729bool c_finput_InsertMaybe(amc::FField& field, amc::FFinput& row) __attribute__((nothrow));
11730// Remove element from index. If element is not in index, do nothing.
11731// func:amc.FField.c_finput.Remove
11732void c_finput_Remove(amc::FField& field, amc::FFinput& row) __attribute__((nothrow));
11733
11734// Insert row into pointer index. Return final membership status.
11735// func:amc.FField.c_foutput.InsertMaybe
11736bool c_foutput_InsertMaybe(amc::FField& field, amc::FFoutput& row) __attribute__((nothrow));
11737// Remove element from index. If element is not in index, do nothing.
11738// func:amc.FField.c_foutput.Remove
11739void c_foutput_Remove(amc::FField& field, amc::FFoutput& row) __attribute__((nothrow));
11740
11741// Insert row into pointer index. Return final membership status.
11742// func:amc.FField.c_fbuf.InsertMaybe
11743bool c_fbuf_InsertMaybe(amc::FField& field, amc::FFbuf& row) __attribute__((nothrow));
11744// Remove element from index. If element is not in index, do nothing.
11745// func:amc.FField.c_fbuf.Remove
11746void c_fbuf_Remove(amc::FField& field, amc::FFbuf& row) __attribute__((nothrow));
11747
11748// Insert row into pointer index. Return final membership status.
11749// func:amc.FField.c_fbigend.InsertMaybe
11750bool c_fbigend_InsertMaybe(amc::FField& field, amc::FFbigend& row) __attribute__((nothrow));
11751// Remove element from index. If element is not in index, do nothing.
11752// func:amc.FField.c_fbigend.Remove
11753void c_fbigend_Remove(amc::FField& field, amc::FFbigend& row) __attribute__((nothrow));
11754
11755// Insert row into pointer index. Return final membership status.
11756// func:amc.FField.c_fstep.InsertMaybe
11757bool c_fstep_InsertMaybe(amc::FField& field, amc::FFstep& row) __attribute__((nothrow));
11758// Remove element from index. If element is not in index, do nothing.
11759// func:amc.FField.c_fstep.Remove
11760void c_fstep_Remove(amc::FField& field, amc::FFstep& row) __attribute__((nothrow));
11761
11762// Insert row into pointer index. Return final membership status.
11763// func:amc.FField.c_fregx.InsertMaybe
11764bool c_fregx_InsertMaybe(amc::FField& field, amc::FFregx& row) __attribute__((nothrow));
11765// Remove element from index. If element is not in index, do nothing.
11766// func:amc.FField.c_fregx.Remove
11767void c_fregx_Remove(amc::FField& field, amc::FFregx& row) __attribute__((nothrow));
11768
11769// Insert row into pointer index. Return final membership status.
11770// func:amc.FField.c_fcmp.InsertMaybe
11771bool c_fcmp_InsertMaybe(amc::FField& field, amc::FFcmp& row) __attribute__((nothrow));
11772// Remove element from index. If element is not in index, do nothing.
11773// func:amc.FField.c_fcmp.Remove
11774void c_fcmp_Remove(amc::FField& field, amc::FFcmp& row) __attribute__((nothrow));
11775
11776// Insert row into pointer index. Return final membership status.
11777// func:amc.FField.c_fcast.InsertMaybe
11778bool c_fcast_InsertMaybe(amc::FField& field, amc::FFcast& row) __attribute__((nothrow));
11779// Remove element from index. If element is not in index, do nothing.
11780// func:amc.FField.c_fcast.Remove
11781void c_fcast_Remove(amc::FField& field, amc::FFcast& row) __attribute__((nothrow));
11782
11783// Insert row into pointer index. Return final membership status.
11784// func:amc.FField.c_gconst.InsertMaybe
11785bool c_gconst_InsertMaybe(amc::FField& field, amc::FGconst& row) __attribute__((nothrow));
11786// Remove element from index. If element is not in index, do nothing.
11787// func:amc.FField.c_gconst.Remove
11788void c_gconst_Remove(amc::FField& field, amc::FGconst& row) __attribute__((nothrow));
11789
11790// Insert row into pointer index. Return final membership status.
11791// func:amc.FField.c_bitfld.InsertMaybe
11792bool c_bitfld_InsertMaybe(amc::FField& field, amc::FBitfld& row) __attribute__((nothrow));
11793// Remove element from index. If element is not in index, do nothing.
11794// func:amc.FField.c_bitfld.Remove
11795void c_bitfld_Remove(amc::FField& field, amc::FBitfld& row) __attribute__((nothrow));
11796
11797// Insert row into pointer index. Return final membership status.
11798// func:amc.FField.c_noxref.InsertMaybe
11799bool c_noxref_InsertMaybe(amc::FField& field, amc::FNoxref& row) __attribute__((nothrow));
11800// Remove element from index. If element is not in index, do nothing.
11801// func:amc.FField.c_noxref.Remove
11802void c_noxref_Remove(amc::FField& field, amc::FNoxref& row) __attribute__((nothrow));
11803
11804// Insert row into pointer index. Return final membership status.
11805// func:amc.FField.c_cppfunc.InsertMaybe
11806bool c_cppfunc_InsertMaybe(amc::FField& field, amc::FCppfunc& row) __attribute__((nothrow));
11807// Remove element from index. If element is not in index, do nothing.
11808// func:amc.FField.c_cppfunc.Remove
11809void c_cppfunc_Remove(amc::FField& field, amc::FCppfunc& row) __attribute__((nothrow));
11810
11811// Insert row into pointer index. Return final membership status.
11812// func:amc.FField.c_substr.InsertMaybe
11813bool c_substr_InsertMaybe(amc::FField& field, amc::FSubstr& row) __attribute__((nothrow));
11814// Remove element from index. If element is not in index, do nothing.
11815// func:amc.FField.c_substr.Remove
11816void c_substr_Remove(amc::FField& field, amc::FSubstr& row) __attribute__((nothrow));
11817
11818// Insert row into pointer index. Return final membership status.
11819// func:amc.FField.c_fcompact.InsertMaybe
11820bool c_fcompact_InsertMaybe(amc::FField& field, amc::FFcompact& row) __attribute__((nothrow));
11821// Remove element from index. If element is not in index, do nothing.
11822// func:amc.FField.c_fcompact.Remove
11823void c_fcompact_Remove(amc::FField& field, amc::FFcompact& row) __attribute__((nothrow));
11824
11825// Insert row into pointer index. Return final membership status.
11826// func:amc.FField.c_findrem.InsertMaybe
11827bool c_findrem_InsertMaybe(amc::FField& field, amc::FFindrem& row) __attribute__((nothrow));
11828// Remove element from index. If element is not in index, do nothing.
11829// func:amc.FField.c_findrem.Remove
11830void c_findrem_Remove(amc::FField& field, amc::FFindrem& row) __attribute__((nothrow));
11831
11832// Return true if index is empty
11833// func:amc.FField.zd_xref_keyfld.EmptyQ
11834bool zd_xref_keyfld_EmptyQ(amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11835// If index empty, return NULL. Otherwise return pointer to first element in index
11836// func:amc.FField.zd_xref_keyfld.First
11837amc::FXref* zd_xref_keyfld_First(amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11838// Return true if row is in the linked list, false otherwise
11839// func:amc.FField.zd_xref_keyfld.InLlistQ
11840bool zd_xref_keyfld_InLlistQ(amc::FXref& row) __attribute__((__warn_unused_result__, nothrow));
11841// Insert row into linked list. If row is already in linked list, do nothing.
11842// func:amc.FField.zd_xref_keyfld.Insert
11843void zd_xref_keyfld_Insert(amc::FField& field, amc::FXref& row) __attribute__((nothrow));
11844// If index empty, return NULL. Otherwise return pointer to last element in index
11845// func:amc.FField.zd_xref_keyfld.Last
11846amc::FXref* zd_xref_keyfld_Last(amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11847// Return number of items in the linked list
11848// func:amc.FField.zd_xref_keyfld.N
11849i32 zd_xref_keyfld_N(const amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11850// Return pointer to next element in the list
11851// func:amc.FField.zd_xref_keyfld.Next
11852amc::FXref* zd_xref_keyfld_Next(amc::FXref &row) __attribute__((__warn_unused_result__, nothrow));
11853// Return pointer to previous element in the list
11854// func:amc.FField.zd_xref_keyfld.Prev
11855amc::FXref* zd_xref_keyfld_Prev(amc::FXref &row) __attribute__((__warn_unused_result__, nothrow));
11856// Remove element from index. If element is not in index, do nothing.
11857// func:amc.FField.zd_xref_keyfld.Remove
11858void zd_xref_keyfld_Remove(amc::FField& field, amc::FXref& row) __attribute__((nothrow));
11859// Empty the index. (The rows are not deleted)
11860// func:amc.FField.zd_xref_keyfld.RemoveAll
11861void zd_xref_keyfld_RemoveAll(amc::FField& field) __attribute__((nothrow));
11862// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
11863// func:amc.FField.zd_xref_keyfld.RemoveFirst
11864amc::FXref* zd_xref_keyfld_RemoveFirst(amc::FField& field) __attribute__((nothrow));
11865// Return reference to last element in the index. No bounds checking.
11866// func:amc.FField.zd_xref_keyfld.qLast
11867amc::FXref& zd_xref_keyfld_qLast(amc::FField& field) __attribute__((__warn_unused_result__, nothrow));
11868
11869// Return true if index is empty
11870// func:amc.FField.zs_fcmap.EmptyQ
11871bool zs_fcmap_EmptyQ(amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11872// If index empty, return NULL. Otherwise return pointer to first element in index
11873// func:amc.FField.zs_fcmap.First
11874amc::FFcmap* zs_fcmap_First(amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11875// Return true if row is in the linked list, false otherwise
11876// func:amc.FField.zs_fcmap.InLlistQ
11877bool zs_fcmap_InLlistQ(amc::FFcmap& row) __attribute__((__warn_unused_result__, nothrow));
11878// Insert row into linked list. If row is already in linked list, do nothing.
11879// func:amc.FField.zs_fcmap.Insert
11880void zs_fcmap_Insert(amc::FField& field, amc::FFcmap& row) __attribute__((nothrow));
11881// If index empty, return NULL. Otherwise return pointer to last element in index
11882// func:amc.FField.zs_fcmap.Last
11883amc::FFcmap* zs_fcmap_Last(amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11884// Return pointer to next element in the list
11885// func:amc.FField.zs_fcmap.Next
11886amc::FFcmap* zs_fcmap_Next(amc::FFcmap &row) __attribute__((__warn_unused_result__, nothrow));
11887// Remove element from index. If element is not in index, do nothing.
11888// Since the list is singly-linked, use linear search to locate the element.
11889// func:amc.FField.zs_fcmap.Remove
11890void zs_fcmap_Remove(amc::FField& field, amc::FFcmap& row) __attribute__((nothrow));
11891// Empty the index. (The rows are not deleted)
11892// func:amc.FField.zs_fcmap.RemoveAll
11893void zs_fcmap_RemoveAll(amc::FField& field) __attribute__((nothrow));
11894// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
11895// func:amc.FField.zs_fcmap.RemoveFirst
11896amc::FFcmap* zs_fcmap_RemoveFirst(amc::FField& field) __attribute__((nothrow));
11897// Return reference to last element in the index. No bounds checking.
11898// func:amc.FField.zs_fcmap.qLast
11899amc::FFcmap& zs_fcmap_qLast(amc::FField& field) __attribute__((__warn_unused_result__, nothrow));
11900
11901// Insert row into pointer index. Return final membership status.
11902// func:amc.FField.c_fbase.InsertMaybe
11903bool c_fbase_InsertMaybe(amc::FField& field, amc::FFbase& row) __attribute__((nothrow));
11904// Remove element from index. If element is not in index, do nothing.
11905// func:amc.FField.c_fbase.Remove
11906void c_fbase_Remove(amc::FField& field, amc::FFbase& row) __attribute__((nothrow));
11907
11908// Insert row into pointer index. Return final membership status.
11909// func:amc.FField.c_fnoremove.InsertMaybe
11910bool c_fnoremove_InsertMaybe(amc::FField& field, amc::FFnoremove& row) __attribute__((nothrow));
11911// Remove element from index. If element is not in index, do nothing.
11912// func:amc.FField.c_fnoremove.Remove
11913void c_fnoremove_Remove(amc::FField& field, amc::FFnoremove& row) __attribute__((nothrow));
11914
11915// Insert row into pointer index. Return final membership status.
11916// func:amc.FField.c_sortfld.InsertMaybe
11917bool c_sortfld_InsertMaybe(amc::FField& field, amc::FSortfld& row) __attribute__((nothrow));
11918// Remove element from index. If element is not in index, do nothing.
11919// func:amc.FField.c_sortfld.Remove
11920void c_sortfld_Remove(amc::FField& field, amc::FSortfld& row) __attribute__((nothrow));
11921
11922// Insert row into pointer index. Return final membership status.
11923// func:amc.FField.c_ftrace.InsertMaybe
11924bool c_ftrace_InsertMaybe(amc::FField& field, amc::FFtrace& row) __attribute__((nothrow));
11925// Remove element from index. If element is not in index, do nothing.
11926// func:amc.FField.c_ftrace.Remove
11927void c_ftrace_Remove(amc::FField& field, amc::FFtrace& row) __attribute__((nothrow));
11928
11929// Insert row into pointer index. Return final membership status.
11930// func:amc.FField.c_hook.InsertMaybe
11931bool c_hook_InsertMaybe(amc::FField& field, amc::FHook& row) __attribute__((nothrow));
11932// Remove element from index. If element is not in index, do nothing.
11933// func:amc.FField.c_hook.Remove
11934void c_hook_Remove(amc::FField& field, amc::FHook& row) __attribute__((nothrow));
11935
11936// Insert row into pointer index. Return final membership status.
11937// func:amc.FField.c_charset.InsertMaybe
11938bool c_charset_InsertMaybe(amc::FField& field, amc::FCharset& row) __attribute__((nothrow));
11939// Remove element from index. If element is not in index, do nothing.
11940// func:amc.FField.c_charset.Remove
11941void c_charset_Remove(amc::FField& field, amc::FCharset& row) __attribute__((nothrow));
11942
11943// Remove all elements from heap and free memory used by the array.
11944// func:amc.FField.bh_bitfld.Dealloc
11945void bh_bitfld_Dealloc(amc::FField& field) __attribute__((nothrow));
11946// Return true if index is empty
11947// func:amc.FField.bh_bitfld.EmptyQ
11948bool bh_bitfld_EmptyQ(amc::FField& field) __attribute__((nothrow));
11949// If index empty, return NULL. Otherwise return pointer to first element in index
11950// func:amc.FField.bh_bitfld.First
11951amc::FBitfld* bh_bitfld_First(amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11952// Return true if row is in index, false otherwise
11953// func:amc.FField.bh_bitfld.InBheapQ
11954bool bh_bitfld_InBheapQ(amc::FBitfld& row) __attribute__((__warn_unused_result__, nothrow));
11955// Insert row. Row must not already be in index. If row is already in index, do nothing.
11956// func:amc.FField.bh_bitfld.Insert
11957void bh_bitfld_Insert(amc::FField& field, amc::FBitfld& row) __attribute__((nothrow));
11958// Return number of items in the heap
11959// func:amc.FField.bh_bitfld.N
11960i32 bh_bitfld_N(const amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11961// If row is in heap, update its position. If row is not in heap, insert it.
11962// Return new position of item in the heap (0=top)
11963// func:amc.FField.bh_bitfld.Reheap
11964i32 bh_bitfld_Reheap(amc::FField& field, amc::FBitfld& row) __attribute__((nothrow));
11965// Key of first element in the heap changed. Move it.
11966// This function does not check the insert condition.
11967// Return new position of item in the heap (0=top).
11968// Heap must be non-empty or behavior is undefined.
11969// func:amc.FField.bh_bitfld.ReheapFirst
11970i32 bh_bitfld_ReheapFirst(amc::FField& field) __attribute__((nothrow));
11971// Remove element from index. If element is not in index, do nothing.
11972// func:amc.FField.bh_bitfld.Remove
11973void bh_bitfld_Remove(amc::FField& field, amc::FBitfld& row) __attribute__((nothrow));
11974// Remove all elements from binary heap
11975// func:amc.FField.bh_bitfld.RemoveAll
11976void bh_bitfld_RemoveAll(amc::FField& field) __attribute__((nothrow));
11977// If index is empty, return NULL. Otherwise remove and return first key in index.
11978// Call 'head changed' trigger.
11979// func:amc.FField.bh_bitfld.RemoveFirst
11980amc::FBitfld* bh_bitfld_RemoveFirst(amc::FField& field) __attribute__((nothrow));
11981// Reserve space in index for N more elements
11982// func:amc.FField.bh_bitfld.Reserve
11983void bh_bitfld_Reserve(amc::FField& field, int n) __attribute__((nothrow));
11984
11985// Insert row into pointer index. Return final membership status.
11986// func:amc.FField.c_funique.InsertMaybe
11987bool c_funique_InsertMaybe(amc::FField& field, amc::FFunique& row) __attribute__((nothrow));
11988// Remove element from index. If element is not in index, do nothing.
11989// func:amc.FField.c_funique.Remove
11990void c_funique_Remove(amc::FField& field, amc::FFunique& row) __attribute__((nothrow));
11991
11992// Insert row into pointer index. Return final membership status.
11993// func:amc.FField.c_fuserinit.InsertMaybe
11994bool c_fuserinit_InsertMaybe(amc::FField& field, amc::FFuserinit& row) __attribute__((nothrow));
11995// Remove element from index. If element is not in index, do nothing.
11996// func:amc.FField.c_fuserinit.Remove
11997void c_fuserinit_Remove(amc::FField& field, amc::FFuserinit& row) __attribute__((nothrow));
11998
11999// Insert row into pointer index. Return final membership status.
12000// func:amc.FField.c_fflag.InsertMaybe
12001bool c_fflag_InsertMaybe(amc::FField& field, amc::FFflag& row) __attribute__((nothrow));
12002// Remove element from index. If element is not in index, do nothing.
12003// func:amc.FField.c_fflag.Remove
12004void c_fflag_Remove(amc::FField& field, amc::FFflag& row) __attribute__((nothrow));
12005
12006// Insert row into pointer index. Return final membership status.
12007// func:amc.FField.c_falias.InsertMaybe
12008bool c_falias_InsertMaybe(amc::FField& field, amc::FFalias& row) __attribute__((nothrow));
12009// Remove element from index. If element is not in index, do nothing.
12010// func:amc.FField.c_falias.Remove
12011void c_falias_Remove(amc::FField& field, amc::FFalias& row) __attribute__((nothrow));
12012
12013// Insert row into pointer index. Return final membership status.
12014// func:amc.FField.c_ffast_field.InsertMaybe
12015bool c_ffast_field_InsertMaybe(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12016// Remove element from index. If element is not in index, do nothing.
12017// func:amc.FField.c_ffast_field.Remove
12018void c_ffast_field_Remove(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12019
12020// Insert row into pointer index. Return final membership status.
12021// func:amc.FField.c_ffast_length.InsertMaybe
12022bool c_ffast_length_InsertMaybe(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12023// Remove element from index. If element is not in index, do nothing.
12024// func:amc.FField.c_ffast_length.Remove
12025void c_ffast_length_Remove(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12026
12027// Insert row into pointer index. Return final membership status.
12028// func:amc.FField.c_ffast_mantissa.InsertMaybe
12029bool c_ffast_mantissa_InsertMaybe(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12030// Remove element from index. If element is not in index, do nothing.
12031// func:amc.FField.c_ffast_mantissa.Remove
12032void c_ffast_mantissa_Remove(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12033
12034// Return true if index is empty
12035// func:amc.FField.c_ffast.EmptyQ
12036bool c_ffast_EmptyQ(amc::FField& field) __attribute__((nothrow));
12037// Look up row by row id. Return NULL if out of range
12038// func:amc.FField.c_ffast.Find
12039amc::FFfast* c_ffast_Find(amc::FField& field, u32 t) __attribute__((__warn_unused_result__, nothrow));
12040// Return array of pointers
12041// func:amc.FField.c_ffast.Getary
12042algo::aryptr<amc::FFfast*> c_ffast_Getary(amc::FField& field) __attribute__((nothrow));
12043// Insert pointer to row into array. Row must not already be in array.
12044// If pointer is already in the array, it may be inserted twice.
12045// func:amc.FField.c_ffast.Insert
12046void c_ffast_Insert(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12047// Insert pointer to row in array.
12048// If row is already in the array, do nothing.
12049// Return value: whether element was inserted into array.
12050// func:amc.FField.c_ffast.InsertMaybe
12051bool c_ffast_InsertMaybe(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12052// Return number of items in the pointer array
12053// func:amc.FField.c_ffast.N
12054i32 c_ffast_N(const amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
12055// Find element using linear scan. If element is in array, remove, otherwise do nothing
12056// func:amc.FField.c_ffast.Remove
12057void c_ffast_Remove(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12058// Empty the index. (The rows are not deleted)
12059// func:amc.FField.c_ffast.RemoveAll
12060void c_ffast_RemoveAll(amc::FField& field) __attribute__((nothrow));
12061// Reserve space in index for N more elements;
12062// func:amc.FField.c_ffast.Reserve
12063void c_ffast_Reserve(amc::FField& field, u32 n) __attribute__((nothrow));
12064// Return reference without bounds checking
12065// func:amc.FField.c_ffast.qFind
12066amc::FFfast& c_ffast_qFind(amc::FField& field, u32 idx) __attribute__((nothrow));
12067// True if row is in any ptrary instance
12068// func:amc.FField.c_ffast.InAryQ
12069bool field_c_ffast_InAryQ(amc::FFfast& row) __attribute__((nothrow));
12070// Reference to last element without bounds checking
12071// func:amc.FField.c_ffast.qLast
12072amc::FFfast& c_ffast_qLast(amc::FField& field) __attribute__((nothrow));
12073
12074// Return true if index is empty
12075// func:amc.FField.c_pmaskfld_member.EmptyQ
12076bool c_pmaskfld_member_EmptyQ(amc::FField& field) __attribute__((nothrow));
12077// Look up row by row id. Return NULL if out of range
12078// func:amc.FField.c_pmaskfld_member.Find
12079amc::FPmaskfldMember* c_pmaskfld_member_Find(amc::FField& field, u32 t) __attribute__((__warn_unused_result__, nothrow));
12080// Return array of pointers
12081// func:amc.FField.c_pmaskfld_member.Getary
12082algo::aryptr<amc::FPmaskfldMember*> c_pmaskfld_member_Getary(amc::FField& field) __attribute__((nothrow));
12083// Insert pointer to row into array. Row must not already be in array.
12084// If pointer is already in the array, it may be inserted twice.
12085// func:amc.FField.c_pmaskfld_member.Insert
12086void c_pmaskfld_member_Insert(amc::FField& field, amc::FPmaskfldMember& row) __attribute__((nothrow));
12087// Insert pointer to row in array.
12088// If row is already in the array, do nothing.
12089// Return value: whether element was inserted into array.
12090// func:amc.FField.c_pmaskfld_member.InsertMaybe
12091bool c_pmaskfld_member_InsertMaybe(amc::FField& field, amc::FPmaskfldMember& row) __attribute__((nothrow));
12092// Return number of items in the pointer array
12093// func:amc.FField.c_pmaskfld_member.N
12094i32 c_pmaskfld_member_N(const amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
12095// Find element using linear scan. If element is in array, remove, otherwise do nothing
12096// func:amc.FField.c_pmaskfld_member.Remove
12097void c_pmaskfld_member_Remove(amc::FField& field, amc::FPmaskfldMember& row) __attribute__((nothrow));
12098// Empty the index. (The rows are not deleted)
12099// func:amc.FField.c_pmaskfld_member.RemoveAll
12100void c_pmaskfld_member_RemoveAll(amc::FField& field) __attribute__((nothrow));
12101// Reserve space in index for N more elements;
12102// func:amc.FField.c_pmaskfld_member.Reserve
12103void c_pmaskfld_member_Reserve(amc::FField& field, u32 n) __attribute__((nothrow));
12104// Return reference without bounds checking
12105// func:amc.FField.c_pmaskfld_member.qFind
12106amc::FPmaskfldMember& c_pmaskfld_member_qFind(amc::FField& field, u32 idx) __attribute__((nothrow));
12107// True if row is in any ptrary instance
12108// func:amc.FField.c_pmaskfld_member.InAryQ
12109bool field_c_pmaskfld_member_InAryQ(amc::FPmaskfldMember& row) __attribute__((nothrow));
12110// Reference to last element without bounds checking
12111// func:amc.FField.c_pmaskfld_member.qLast
12112amc::FPmaskfldMember& c_pmaskfld_member_qLast(amc::FField& field) __attribute__((nothrow));
12113
12114// Set all fields to initial values.
12115// func:amc.FField..Init
12116void FField_Init(amc::FField& field);
12117// func:amc.FField.c_ffunc_curs.Reset
12118void field_c_ffunc_curs_Reset(field_c_ffunc_curs &curs, amc::FField &parent) __attribute__((nothrow));
12119// cursor points to valid item
12120// func:amc.FField.c_ffunc_curs.ValidQ
12121bool field_c_ffunc_curs_ValidQ(field_c_ffunc_curs &curs) __attribute__((nothrow));
12122// proceed to next item
12123// func:amc.FField.c_ffunc_curs.Next
12124void field_c_ffunc_curs_Next(field_c_ffunc_curs &curs) __attribute__((nothrow));
12125// item access
12126// func:amc.FField.c_ffunc_curs.Access
12127amc::FFunc& field_c_ffunc_curs_Access(field_c_ffunc_curs &curs) __attribute__((nothrow));
12128// func:amc.FField.c_fconst_curs.Reset
12129void field_c_fconst_curs_Reset(field_c_fconst_curs &curs, amc::FField &parent) __attribute__((nothrow));
12130// cursor points to valid item
12131// func:amc.FField.c_fconst_curs.ValidQ
12132bool field_c_fconst_curs_ValidQ(field_c_fconst_curs &curs) __attribute__((nothrow));
12133// proceed to next item
12134// func:amc.FField.c_fconst_curs.Next
12135void field_c_fconst_curs_Next(field_c_fconst_curs &curs) __attribute__((nothrow));
12136// item access
12137// func:amc.FField.c_fconst_curs.Access
12138amc::FFconst& field_c_fconst_curs_Access(field_c_fconst_curs &curs) __attribute__((nothrow));
12139// cursor points to valid item
12140// func:amc.FField.zd_xref_keyfld_curs.Reset
12141void field_zd_xref_keyfld_curs_Reset(field_zd_xref_keyfld_curs &curs, amc::FField &parent) __attribute__((nothrow));
12142// cursor points to valid item
12143// func:amc.FField.zd_xref_keyfld_curs.ValidQ
12144bool field_zd_xref_keyfld_curs_ValidQ(field_zd_xref_keyfld_curs &curs) __attribute__((nothrow));
12145// proceed to next item
12146// func:amc.FField.zd_xref_keyfld_curs.Next
12147void field_zd_xref_keyfld_curs_Next(field_zd_xref_keyfld_curs &curs) __attribute__((nothrow));
12148// item access
12149// func:amc.FField.zd_xref_keyfld_curs.Access
12150amc::FXref& field_zd_xref_keyfld_curs_Access(field_zd_xref_keyfld_curs &curs) __attribute__((nothrow));
12151// cursor points to valid item
12152// func:amc.FField.zs_fcmap_curs.Reset
12153void field_zs_fcmap_curs_Reset(field_zs_fcmap_curs &curs, amc::FField &parent) __attribute__((nothrow));
12154// cursor points to valid item
12155// func:amc.FField.zs_fcmap_curs.ValidQ
12156bool field_zs_fcmap_curs_ValidQ(field_zs_fcmap_curs &curs) __attribute__((nothrow));
12157// proceed to next item
12158// func:amc.FField.zs_fcmap_curs.Next
12159void field_zs_fcmap_curs_Next(field_zs_fcmap_curs &curs) __attribute__((nothrow));
12160// item access
12161// func:amc.FField.zs_fcmap_curs.Access
12162amc::FFcmap& field_zs_fcmap_curs_Access(field_zs_fcmap_curs &curs) __attribute__((nothrow));
12163// func:amc.FField.bh_bitfld_curs.Reserve
12164void field_bh_bitfld_curs_Reserve(field_bh_bitfld_curs &curs, int n);
12165// Reset cursor. If HEAP is non-empty, add its top element to CURS.
12166// func:amc.FField.bh_bitfld_curs.Reset
12167void field_bh_bitfld_curs_Reset(field_bh_bitfld_curs &curs, amc::FField &parent);
12168// Advance cursor.
12169// func:amc.FField.bh_bitfld_curs.Next
12170void field_bh_bitfld_curs_Next(field_bh_bitfld_curs &curs);
12171// Access current element. If not more elements, return NULL
12172// func:amc.FField.bh_bitfld_curs.Access
12173amc::FBitfld& field_bh_bitfld_curs_Access(field_bh_bitfld_curs &curs) __attribute__((nothrow));
12174// Return true if Access() will return non-NULL.
12175// func:amc.FField.bh_bitfld_curs.ValidQ
12176bool field_bh_bitfld_curs_ValidQ(field_bh_bitfld_curs &curs) __attribute__((nothrow));
12177// func:amc.FField.c_ffast_curs.Reset
12178void field_c_ffast_curs_Reset(field_c_ffast_curs &curs, amc::FField &parent) __attribute__((nothrow));
12179// cursor points to valid item
12180// func:amc.FField.c_ffast_curs.ValidQ
12181bool field_c_ffast_curs_ValidQ(field_c_ffast_curs &curs) __attribute__((nothrow));
12182// proceed to next item
12183// func:amc.FField.c_ffast_curs.Next
12184void field_c_ffast_curs_Next(field_c_ffast_curs &curs) __attribute__((nothrow));
12185// item access
12186// func:amc.FField.c_ffast_curs.Access
12187amc::FFfast& field_c_ffast_curs_Access(field_c_ffast_curs &curs) __attribute__((nothrow));
12188// func:amc.FField.c_pmaskfld_member_curs.Reset
12189void field_c_pmaskfld_member_curs_Reset(field_c_pmaskfld_member_curs &curs, amc::FField &parent) __attribute__((nothrow));
12190// cursor points to valid item
12191// func:amc.FField.c_pmaskfld_member_curs.ValidQ
12192bool field_c_pmaskfld_member_curs_ValidQ(field_c_pmaskfld_member_curs &curs) __attribute__((nothrow));
12193// proceed to next item
12194// func:amc.FField.c_pmaskfld_member_curs.Next
12195void field_c_pmaskfld_member_curs_Next(field_c_pmaskfld_member_curs &curs) __attribute__((nothrow));
12196// item access
12197// func:amc.FField.c_pmaskfld_member_curs.Access
12198amc::FPmaskfldMember& field_c_pmaskfld_member_curs_Access(field_c_pmaskfld_member_curs &curs) __attribute__((nothrow));
12199// func:amc.FField..Uninit
12200void FField_Uninit(amc::FField& field) __attribute__((nothrow));
12201
12202// --- amc.FFindrem
12203// create: amc.FDb.findrem (Lary)
12204// access: amc.FField.c_findrem (Ptr)
12205struct FFindrem { // amc.FFindrem
12206 algo::Smallstr100 field; //
12207 algo::Comment comment; //
12208private:
12209 friend amc::FFindrem& findrem_Alloc() __attribute__((__warn_unused_result__, nothrow));
12210 friend amc::FFindrem* findrem_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12211 friend void findrem_RemoveLast() __attribute__((nothrow));
12212 FFindrem();
12213 ~FFindrem();
12214 FFindrem(const FFindrem&){ /*disallow copy constructor */}
12215 void operator =(const FFindrem&){ /*disallow direct assignment */}
12216};
12217
12218// Copy fields out of row
12219// func:amc.FFindrem.base.CopyOut
12220void findrem_CopyOut(amc::FFindrem &row, dmmeta::Findrem &out) __attribute__((nothrow));
12221// Copy fields in to row
12222// func:amc.FFindrem.base.CopyIn
12223void findrem_CopyIn(amc::FFindrem &row, dmmeta::Findrem &in) __attribute__((nothrow));
12224
12225// func:amc.FFindrem..Uninit
12226void FFindrem_Uninit(amc::FFindrem& findrem) __attribute__((nothrow));
12227
12228// --- amc.FFinput
12229// create: amc.FDb.finput (Lary)
12230// access: amc.FField.c_finput (Ptr)
12231struct FFinput { // amc.FFinput
12232 algo::Smallstr100 field; // Target field to read
12233 bool extrn; // false Call user-provided function
12234 bool update; // false
12235 bool strict; // true Exist process if record contains error
12236 amc::FField* p_field; // reference to parent row
12237private:
12238 friend amc::FFinput& finput_Alloc() __attribute__((__warn_unused_result__, nothrow));
12239 friend amc::FFinput* finput_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12240 friend void finput_RemoveLast() __attribute__((nothrow));
12241 FFinput();
12242 ~FFinput();
12243 FFinput(const FFinput&){ /*disallow copy constructor */}
12244 void operator =(const FFinput&){ /*disallow direct assignment */}
12245};
12246
12247// Copy fields out of row
12248// func:amc.FFinput.msghdr.CopyOut
12249void finput_CopyOut(amc::FFinput &row, dmmeta::Finput &out) __attribute__((nothrow));
12250// Copy fields in to row
12251// func:amc.FFinput.msghdr.CopyIn
12252void finput_CopyIn(amc::FFinput &row, dmmeta::Finput &in) __attribute__((nothrow));
12253
12254// func:amc.FFinput.ns.Get
12255algo::Smallstr16 ns_Get(amc::FFinput& finput) __attribute__((__warn_unused_result__, nothrow));
12256
12257// Set all fields to initial values.
12258// func:amc.FFinput..Init
12259void FFinput_Init(amc::FFinput& finput);
12260// func:amc.FFinput..Uninit
12261void FFinput_Uninit(amc::FFinput& finput) __attribute__((nothrow));
12262
12263// --- amc.FFldoffset
12264// create: amc.FDb.fldoffset (Lary)
12265// access: amc.FField.c_fldoffset (Ptr)
12266struct FFldoffset { // amc.FFldoffset
12267 algo::Smallstr100 field; //
12268 i32 offset; // 0
12269 amc::FField* p_field; // reference to parent row
12270private:
12271 friend amc::FFldoffset& fldoffset_Alloc() __attribute__((__warn_unused_result__, nothrow));
12272 friend amc::FFldoffset* fldoffset_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12273 friend void fldoffset_RemoveLast() __attribute__((nothrow));
12274 FFldoffset();
12275 ~FFldoffset();
12276 FFldoffset(const FFldoffset&){ /*disallow copy constructor */}
12277 void operator =(const FFldoffset&){ /*disallow direct assignment */}
12278};
12279
12280// Copy fields out of row
12281// func:amc.FFldoffset.msghdr.CopyOut
12282void fldoffset_CopyOut(amc::FFldoffset &row, dmmeta::Fldoffset &out) __attribute__((nothrow));
12283// Copy fields in to row
12284// func:amc.FFldoffset.msghdr.CopyIn
12285void fldoffset_CopyIn(amc::FFldoffset &row, dmmeta::Fldoffset &in) __attribute__((nothrow));
12286
12287// Set all fields to initial values.
12288// func:amc.FFldoffset..Init
12289void FFldoffset_Init(amc::FFldoffset& fldoffset);
12290// func:amc.FFldoffset..Uninit
12291void FFldoffset_Uninit(amc::FFldoffset& fldoffset) __attribute__((nothrow));
12292
12293// --- amc.FFloadtuples
12294// create: amc.FDb.floadtuples (Lary)
12295// access: amc.FCtype.c_floadtuples (Ptr)
12296struct FFloadtuples { // amc.FFloadtuples
12297 algo::Smallstr100 field; //
12298 algo::Comment comment; //
12299 amc::FField* p_field; // reference to parent row
12300private:
12301 friend amc::FFloadtuples& floadtuples_Alloc() __attribute__((__warn_unused_result__, nothrow));
12302 friend amc::FFloadtuples* floadtuples_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12303 friend void floadtuples_RemoveLast() __attribute__((nothrow));
12304 FFloadtuples();
12305 ~FFloadtuples();
12306 FFloadtuples(const FFloadtuples&){ /*disallow copy constructor */}
12307 void operator =(const FFloadtuples&){ /*disallow direct assignment */}
12308};
12309
12310// Copy fields out of row
12311// func:amc.FFloadtuples.base.CopyOut
12312void floadtuples_CopyOut(amc::FFloadtuples &row, dmmeta::Floadtuples &out) __attribute__((nothrow));
12313// Copy fields in to row
12314// func:amc.FFloadtuples.base.CopyIn
12315void floadtuples_CopyIn(amc::FFloadtuples &row, dmmeta::Floadtuples &in) __attribute__((nothrow));
12316
12317// func:amc.FFloadtuples.ctype.Get
12318algo::Smallstr100 ctype_Get(amc::FFloadtuples& floadtuples) __attribute__((__warn_unused_result__, nothrow));
12319
12320// Set all fields to initial values.
12321// func:amc.FFloadtuples..Init
12322void FFloadtuples_Init(amc::FFloadtuples& floadtuples);
12323// func:amc.FFloadtuples..Uninit
12324void FFloadtuples_Uninit(amc::FFloadtuples& floadtuples) __attribute__((nothrow));
12325
12326// --- amc.FFnoremove
12327// create: amc.FDb.fnoremove (Lary)
12328// access: amc.FField.c_fnoremove (Ptr)
12329struct FFnoremove { // amc.FFnoremove
12330 algo::Smallstr100 field; //
12331 algo::Comment comment; //
12332private:
12333 friend amc::FFnoremove& fnoremove_Alloc() __attribute__((__warn_unused_result__, nothrow));
12334 friend amc::FFnoremove* fnoremove_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12335 friend void fnoremove_RemoveLast() __attribute__((nothrow));
12336 FFnoremove();
12337 ~FFnoremove();
12338 FFnoremove(const FFnoremove&){ /*disallow copy constructor */}
12339 void operator =(const FFnoremove&){ /*disallow direct assignment */}
12340};
12341
12342// Copy fields out of row
12343// func:amc.FFnoremove.base.CopyOut
12344void fnoremove_CopyOut(amc::FFnoremove &row, dmmeta::Fnoremove &out) __attribute__((nothrow));
12345// Copy fields in to row
12346// func:amc.FFnoremove.base.CopyIn
12347void fnoremove_CopyIn(amc::FFnoremove &row, dmmeta::Fnoremove &in) __attribute__((nothrow));
12348
12349// func:amc.FFnoremove..Uninit
12350void FFnoremove_Uninit(amc::FFnoremove& fnoremove) __attribute__((nothrow));
12351
12352// --- amc.FFoutput
12353// create: amc.FDb.foutput (Lary)
12354// access: amc.FField.c_foutput (Ptr)
12355// access: amc.FNs.c_foutput (Ptrary)
12356struct FFoutput { // amc.FFoutput
12357 algo::Smallstr100 field; //
12358 bool ns_c_foutput_in_ary; // false membership flag
12359private:
12360 friend amc::FFoutput& foutput_Alloc() __attribute__((__warn_unused_result__, nothrow));
12361 friend amc::FFoutput* foutput_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12362 friend void foutput_RemoveLast() __attribute__((nothrow));
12363 FFoutput();
12364 ~FFoutput();
12365 FFoutput(const FFoutput&){ /*disallow copy constructor */}
12366 void operator =(const FFoutput&){ /*disallow direct assignment */}
12367};
12368
12369// Copy fields out of row
12370// func:amc.FFoutput.msghdr.CopyOut
12371void foutput_CopyOut(amc::FFoutput &row, dmmeta::Foutput &out) __attribute__((nothrow));
12372// Copy fields in to row
12373// func:amc.FFoutput.msghdr.CopyIn
12374void foutput_CopyIn(amc::FFoutput &row, dmmeta::Foutput &in) __attribute__((nothrow));
12375
12376// func:amc.FFoutput.ns.Get
12377algo::Smallstr16 ns_Get(amc::FFoutput& foutput) __attribute__((__warn_unused_result__, nothrow));
12378
12379// Set all fields to initial values.
12380// func:amc.FFoutput..Init
12381void FFoutput_Init(amc::FFoutput& foutput);
12382// func:amc.FFoutput..Uninit
12383void FFoutput_Uninit(amc::FFoutput& foutput) __attribute__((nothrow));
12384
12385// --- amc.FFprefix
12386// create: amc.FDb.fprefix (Lary)
12387// global access: ind_prefix (Thash)
12388// access: amc.FReftype.zs_fprefix (Llist)
12389struct FFprefix { // amc.FFprefix
12390 amc::FFprefix* ind_prefix_next; // hash next
12391 algo::Smallstr5 fprefix; //
12392 algo::Smallstr50 reftype; //
12393 algo::Comment comment; //
12394 amc::FFprefix* zs_fprefix_next; // zslist link; -1 means not-in-list
12395private:
12396 friend amc::FFprefix& fprefix_Alloc() __attribute__((__warn_unused_result__, nothrow));
12397 friend amc::FFprefix* fprefix_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12398 friend void fprefix_RemoveLast() __attribute__((nothrow));
12399 FFprefix();
12400 ~FFprefix();
12401 FFprefix(const FFprefix&){ /*disallow copy constructor */}
12402 void operator =(const FFprefix&){ /*disallow direct assignment */}
12403};
12404
12405// Copy fields out of row
12406// func:amc.FFprefix.base.CopyOut
12407void fprefix_CopyOut(amc::FFprefix &row, dmmeta::Fprefix &out) __attribute__((nothrow));
12408// Copy fields in to row
12409// func:amc.FFprefix.base.CopyIn
12410void fprefix_CopyIn(amc::FFprefix &row, dmmeta::Fprefix &in) __attribute__((nothrow));
12411
12412// Set all fields to initial values.
12413// func:amc.FFprefix..Init
12414void FFprefix_Init(amc::FFprefix& fprefix);
12415// func:amc.FFprefix..Uninit
12416void FFprefix_Uninit(amc::FFprefix& fprefix) __attribute__((nothrow));
12417
12418// --- amc.FFregx
12419// create: amc.FDb.fregx (Lary)
12420// access: amc.FField.c_fregx (Ptr)
12421struct FFregx { // amc.FFregx
12422 algo::Smallstr100 field; //
12423 bool partial; // false
12424 algo::Smallstr50 regxtype; //
12425 algo::Comment comment; //
12426private:
12427 friend amc::FFregx& fregx_Alloc() __attribute__((__warn_unused_result__, nothrow));
12428 friend amc::FFregx* fregx_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12429 friend void fregx_RemoveLast() __attribute__((nothrow));
12430 FFregx();
12431 ~FFregx();
12432 FFregx(const FFregx&){ /*disallow copy constructor */}
12433 void operator =(const FFregx&){ /*disallow direct assignment */}
12434};
12435
12436// Copy fields out of row
12437// func:amc.FFregx.msghdr.CopyOut
12438void fregx_CopyOut(amc::FFregx &row, dmmeta::Fregx &out) __attribute__((nothrow));
12439// Copy fields in to row
12440// func:amc.FFregx.msghdr.CopyIn
12441void fregx_CopyIn(amc::FFregx &row, dmmeta::Fregx &in) __attribute__((nothrow));
12442
12443// Set all fields to initial values.
12444// func:amc.FFregx..Init
12445void FFregx_Init(amc::FFregx& fregx);
12446// func:amc.FFregx..Uninit
12447void FFregx_Uninit(amc::FFregx& fregx) __attribute__((nothrow));
12448
12449// --- amc.FFsort
12450// create: amc.FDb.fsort (Lary)
12451// access: amc.FField.c_fsort (Ptr)
12452struct FFsort { // amc.FFsort
12453 algo::Smallstr100 field; // Field (array etc) being sorted
12454 algo::Smallstr50 sorttype; // Kind of sort to generate
12455 algo::Smallstr100 sortfld; // Field to sort on
12456 amc::FField* p_field; // reference to parent row
12457 amc::FField* p_sortfld; // reference to parent row
12458private:
12459 friend amc::FFsort& fsort_Alloc() __attribute__((__warn_unused_result__, nothrow));
12460 friend amc::FFsort* fsort_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12461 friend void fsort_RemoveLast() __attribute__((nothrow));
12462 FFsort();
12463 ~FFsort();
12464 FFsort(const FFsort&){ /*disallow copy constructor */}
12465 void operator =(const FFsort&){ /*disallow direct assignment */}
12466};
12467
12468// Copy fields out of row
12469// func:amc.FFsort.msghdr.CopyOut
12470void fsort_CopyOut(amc::FFsort &row, dmmeta::Fsort &out) __attribute__((nothrow));
12471// Copy fields in to row
12472// func:amc.FFsort.msghdr.CopyIn
12473void fsort_CopyIn(amc::FFsort &row, dmmeta::Fsort &in) __attribute__((nothrow));
12474
12475// Set all fields to initial values.
12476// func:amc.FFsort..Init
12477void FFsort_Init(amc::FFsort& fsort);
12478// func:amc.FFsort..Uninit
12479void FFsort_Uninit(amc::FFsort& fsort) __attribute__((nothrow));
12480
12481// --- amc.FFstep
12482// create: amc.FDb.fstep (Lary)
12483// global access: ind_fstep (Thash)
12484// access: amc.FField.c_fstep (Ptr)
12485// access: amc.FNs.c_fstep (Ptrary)
12486struct FFstep { // amc.FFstep
12487 amc::FFstep* ind_fstep_next; // hash next
12488 algo::Smallstr100 fstep; //
12489 algo::Smallstr50 steptype; //
12490 algo::Comment comment; //
12491 amc::FFdelay* c_fdelay; // optional pointer
12492 amc::FField* p_field; // reference to parent row
12493 bool ns_c_fstep_in_ary; // false membership flag
12494private:
12495 friend amc::FFstep& fstep_Alloc() __attribute__((__warn_unused_result__, nothrow));
12496 friend amc::FFstep* fstep_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12497 friend void fstep_RemoveLast() __attribute__((nothrow));
12498 FFstep();
12499 ~FFstep();
12500 FFstep(const FFstep&){ /*disallow copy constructor */}
12501 void operator =(const FFstep&){ /*disallow direct assignment */}
12502};
12503
12504// Copy fields out of row
12505// func:amc.FFstep.msghdr.CopyOut
12506void fstep_CopyOut(amc::FFstep &row, dmmeta::Fstep &out) __attribute__((nothrow));
12507// Copy fields in to row
12508// func:amc.FFstep.msghdr.CopyIn
12509void fstep_CopyIn(amc::FFstep &row, dmmeta::Fstep &in) __attribute__((nothrow));
12510
12511// func:amc.FFstep.field.Get
12512algo::Smallstr100 field_Get(amc::FFstep& fstep) __attribute__((__warn_unused_result__, nothrow));
12513
12514// func:amc.FFstep.ns.Get
12515algo::Smallstr16 ns_Get(amc::FFstep& fstep) __attribute__((__warn_unused_result__, nothrow));
12516
12517// func:amc.FFstep.name.Get
12518algo::Smallstr50 name_Get(amc::FFstep& fstep) __attribute__((__warn_unused_result__, nothrow));
12519
12520// Insert row into pointer index. Return final membership status.
12521// func:amc.FFstep.c_fdelay.InsertMaybe
12522bool c_fdelay_InsertMaybe(amc::FFstep& fstep, amc::FFdelay& row) __attribute__((nothrow));
12523// Remove element from index. If element is not in index, do nothing.
12524// func:amc.FFstep.c_fdelay.Remove
12525void c_fdelay_Remove(amc::FFstep& fstep, amc::FFdelay& row) __attribute__((nothrow));
12526
12527// Set all fields to initial values.
12528// func:amc.FFstep..Init
12529void FFstep_Init(amc::FFstep& fstep);
12530// func:amc.FFstep..Uninit
12531void FFstep_Uninit(amc::FFstep& fstep) __attribute__((nothrow));
12532
12533// --- amc.FFtrace
12534// create: amc.FDb.ftrace (Lary)
12535// access: amc.FField.c_ftrace (Ptr)
12536struct FFtrace { // amc.FFtrace
12537 algo::Smallstr100 field; //
12538 algo::Comment comment; //
12539private:
12540 friend amc::FFtrace& ftrace_Alloc() __attribute__((__warn_unused_result__, nothrow));
12541 friend amc::FFtrace* ftrace_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12542 friend void ftrace_RemoveLast() __attribute__((nothrow));
12543 FFtrace();
12544 ~FFtrace();
12545 FFtrace(const FFtrace&){ /*disallow copy constructor */}
12546 void operator =(const FFtrace&){ /*disallow direct assignment */}
12547};
12548
12549// Copy fields out of row
12550// func:amc.FFtrace.base.CopyOut
12551void ftrace_CopyOut(amc::FFtrace &row, dmmeta::Ftrace &out) __attribute__((nothrow));
12552// Copy fields in to row
12553// func:amc.FFtrace.base.CopyIn
12554void ftrace_CopyIn(amc::FFtrace &row, dmmeta::Ftrace &in) __attribute__((nothrow));
12555
12556// func:amc.FFtrace..Uninit
12557void FFtrace_Uninit(amc::FFtrace& ftrace) __attribute__((nothrow));
12558
12559// --- amc.FFunc
12560// create: amc.FDb.func (Lary)
12561// global access: ind_func (Thash)
12562// global access: cd_temp_func (Llist)
12563// access: amc.FCtype.c_init (Ptr)
12564// access: amc.FCtype.c_ffunc (Ptrary)
12565// access: amc.FFcmap.c_convfunc (Ptr)
12566// access: amc.FField.c_ffunc (Ptrary)
12567// access: amc.FNs.c_func (Ptrary)
12568// access: amc.Genpnew.p_func (Upptr)
12569struct FFunc { // amc.FFunc
12570 amc::FFunc* ind_func_next; // hash next
12571 amc::FFunc* cd_temp_func_next; // zslist link; -1 means not-in-list
12572 amc::FFunc* cd_temp_func_prev; // previous element
12573 algo::Smallstr100 func; // Primary key
12574 bool inl; // false Make inline?
12575 algo::cstring proto; // Prototype
12576 algo::cstring body; // Body of function
12577 bool deprecate; // false Make deprecated?
12578 bool ismacro; // false Always inline.
12579 bool extrn; // false Implemented externally by user
12580 bool glob; // false Function is not attached to a field (EXPLAIN!!)
12581 bool priv; // false Private to translateion unit (static)
12582 algo::cstring ret; // Return type (c++ expression)
12583 algo::cstring comment; // Description
12584 amc::FNs* p_ns; // reference to parent row
12585 algo::cstring nonnull; // List of non-null attributes
12586 amc::Funcarg* funcarg_elems; // pointer to elements
12587 u32 funcarg_n; // number of elements in array
12588 u32 funcarg_max; // max. capacity of array before realloc
12589 bool printed; // false Already printed? (internal)
12590 bool throws; // false Throws exceptions
12591 bool nothrow; // false Definitely doesn't throw exception
12592 bool member; // false Function is a member (print inside struct)
12593 bool disable; // false Function is enabled (if not, don't print)
12594 bool oper; // false Is operator?
12595 bool globns; // false Place function outside of namespace when printing
12596 bool isalloc; // false Function returns a new value
12597 bool wur; // false Warn on unused result
12598 bool pure; // false OK to call fewer times than specified in text
12599 bool finalized; // false Don't add any more code to me
12600 bool isexplicit; // false Is explicit constructor (add 'explicit')
12601 bool istmpl; // false Function is a template
12602 algo::cstring prepcond; // Preprocessor #if condition
12603 bool ns_c_func_in_ary; // false membership flag
12604private:
12605 friend amc::FFunc& func_Alloc() __attribute__((__warn_unused_result__, nothrow));
12606 friend amc::FFunc* func_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12607 friend void func_RemoveLast() __attribute__((nothrow));
12608 FFunc();
12609 ~FFunc();
12610 FFunc(const FFunc&){ /*disallow copy constructor */}
12611 void operator =(const FFunc&){ /*disallow direct assignment */}
12612};
12613
12614// Copy fields out of row
12615// func:amc.FFunc.msghdr.CopyOut
12616void func_CopyOut(amc::FFunc &row, dmmeta::Func &out) __attribute__((nothrow));
12617// Copy fields in to row
12618// func:amc.FFunc.msghdr.CopyIn
12619void func_CopyIn(amc::FFunc &row, dmmeta::Func &in) __attribute__((nothrow));
12620
12621// func:amc.FFunc.field.Get
12622algo::Smallstr100 field_Get(amc::FFunc& func) __attribute__((__warn_unused_result__, nothrow));
12623
12624// func:amc.FFunc.name.Get
12625algo::Smallstr50 name_Get(amc::FFunc& func) __attribute__((__warn_unused_result__, nothrow));
12626
12627// func:amc.FFunc.ctype.Get
12628algo::Smallstr100 ctype_Get(amc::FFunc& func) __attribute__((__warn_unused_result__, nothrow));
12629
12630// func:amc.FFunc.ns.Get
12631algo::Smallstr16 ns_Get(amc::FFunc& func) __attribute__((__warn_unused_result__, nothrow));
12632
12633// Reserve space (this may move memory). Insert N element at the end.
12634// Return aryptr to newly inserted block.
12635// If the RHS argument aliases the array (refers to the same memory), exit program with fatal error.
12636// func:amc.FFunc.funcarg.Addary
12637algo::aryptr<amc::Funcarg> funcarg_Addary(amc::FFunc& func, algo::aryptr<amc::Funcarg> rhs) __attribute__((nothrow));
12638// Reserve space. Insert element at the end
12639// The new element is initialized to a default value
12640// func:amc.FFunc.funcarg.Alloc
12641amc::Funcarg& funcarg_Alloc(amc::FFunc& func) __attribute__((__warn_unused_result__, nothrow));
12642// Reserve space for new element, reallocating the array if necessary
12643// Insert new element at specified index. Index must be in range or a fatal error occurs.
12644// func:amc.FFunc.funcarg.AllocAt
12645amc::Funcarg& funcarg_AllocAt(amc::FFunc& func, int at) __attribute__((__warn_unused_result__, nothrow));
12646// Reserve space. Insert N elements at the end of the array, return pointer to array
12647// func:amc.FFunc.funcarg.AllocN
12648algo::aryptr<amc::Funcarg> funcarg_AllocN(amc::FFunc& func, int n_elems) __attribute__((__warn_unused_result__, nothrow));
12649// Return true if index is empty
12650// func:amc.FFunc.funcarg.EmptyQ
12651bool funcarg_EmptyQ(amc::FFunc& func) __attribute__((nothrow));
12652// Look up row by row id. Return NULL if out of range
12653// func:amc.FFunc.funcarg.Find
12654amc::Funcarg* funcarg_Find(amc::FFunc& func, u64 t) __attribute__((__warn_unused_result__, nothrow));
12655// Return array pointer by value
12656// func:amc.FFunc.funcarg.Getary
12657algo::aryptr<amc::Funcarg> funcarg_Getary(const amc::FFunc& func) __attribute__((nothrow));
12658// Return pointer to last element of array, or NULL if array is empty
12659// func:amc.FFunc.funcarg.Last
12660amc::Funcarg* funcarg_Last(amc::FFunc& func) __attribute__((nothrow, pure));
12661// Return max. number of items in the array
12662// func:amc.FFunc.funcarg.Max
12663i32 funcarg_Max(amc::FFunc& func) __attribute__((nothrow));
12664// Return number of items in the array
12665// func:amc.FFunc.funcarg.N
12666i32 funcarg_N(const amc::FFunc& func) __attribute__((__warn_unused_result__, nothrow, pure));
12667// Remove item by index. If index outside of range, do nothing.
12668// func:amc.FFunc.funcarg.Remove
12669void funcarg_Remove(amc::FFunc& func, u32 i) __attribute__((nothrow));
12670// func:amc.FFunc.funcarg.RemoveAll
12671void funcarg_RemoveAll(amc::FFunc& func) __attribute__((nothrow));
12672// Delete last element of array. Do nothing if array is empty.
12673// func:amc.FFunc.funcarg.RemoveLast
12674void funcarg_RemoveLast(amc::FFunc& func) __attribute__((nothrow));
12675// Make sure N *more* elements will fit in array. Process dies if out of memory
12676// func:amc.FFunc.funcarg.Reserve
12677void funcarg_Reserve(amc::FFunc& func, int n) __attribute__((nothrow));
12678// Make sure N elements fit in array. Process dies if out of memory
12679// func:amc.FFunc.funcarg.AbsReserve
12680void funcarg_AbsReserve(amc::FFunc& func, int n) __attribute__((nothrow));
12681// Copy contents of RHS to PARENT.
12682// func:amc.FFunc.funcarg.Setary
12683void funcarg_Setary(amc::FFunc& func, amc::FFunc &rhs) __attribute__((nothrow));
12684// Copy specified array into funcarg, discarding previous contents.
12685// If the RHS argument aliases the array (refers to the same memory), throw exception.
12686// func:amc.FFunc.funcarg.Setary2
12687void funcarg_Setary(amc::FFunc& func, const algo::aryptr<amc::Funcarg> &rhs) __attribute__((nothrow));
12688// 'quick' Access row by row id. No bounds checking.
12689// func:amc.FFunc.funcarg.qFind
12690amc::Funcarg& funcarg_qFind(amc::FFunc& func, u64 t) __attribute__((nothrow));
12691// Return reference to last element of array. No bounds checking
12692// func:amc.FFunc.funcarg.qLast
12693amc::Funcarg& funcarg_qLast(amc::FFunc& func) __attribute__((nothrow));
12694// Return row id of specified element
12695// func:amc.FFunc.funcarg.rowid_Get
12696u64 funcarg_rowid_Get(amc::FFunc& func, amc::Funcarg &elem) __attribute__((nothrow));
12697// Reserve space. Insert N elements at the end of the array, return pointer to array
12698// func:amc.FFunc.funcarg.AllocNVal
12699algo::aryptr<amc::Funcarg> funcarg_AllocNVal(amc::FFunc& func, int n_elems, const amc::Funcarg& val) __attribute__((nothrow));
12700
12701// Set all fields to initial values.
12702// func:amc.FFunc..Init
12703void FFunc_Init(amc::FFunc& func);
12704// proceed to next item
12705// func:amc.FFunc.funcarg_curs.Next
12706void func_funcarg_curs_Next(func_funcarg_curs &curs) __attribute__((nothrow));
12707// func:amc.FFunc.funcarg_curs.Reset
12708void func_funcarg_curs_Reset(func_funcarg_curs &curs, amc::FFunc &parent) __attribute__((nothrow));
12709// cursor points to valid item
12710// func:amc.FFunc.funcarg_curs.ValidQ
12711bool func_funcarg_curs_ValidQ(func_funcarg_curs &curs) __attribute__((nothrow));
12712// item access
12713// func:amc.FFunc.funcarg_curs.Access
12714amc::Funcarg& func_funcarg_curs_Access(func_funcarg_curs &curs) __attribute__((nothrow));
12715// func:amc.FFunc..Uninit
12716void FFunc_Uninit(amc::FFunc& func) __attribute__((nothrow));
12717
12718// --- amc.FFunique
12719// create: amc.FDb.funique (Lary)
12720// access: amc.FField.c_funique (Ptr)
12721struct FFunique { // amc.FFunique
12722 algo::Smallstr100 field; //
12723 algo::Comment comment; //
12724private:
12725 friend amc::FFunique& funique_Alloc() __attribute__((__warn_unused_result__, nothrow));
12726 friend amc::FFunique* funique_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12727 friend void funique_RemoveAll() __attribute__((nothrow));
12728 friend void funique_RemoveLast() __attribute__((nothrow));
12729 FFunique();
12730 ~FFunique();
12731 FFunique(const FFunique&){ /*disallow copy constructor */}
12732 void operator =(const FFunique&){ /*disallow direct assignment */}
12733};
12734
12735// Copy fields out of row
12736// func:amc.FFunique.base.CopyOut
12737void funique_CopyOut(amc::FFunique &row, dmmeta::Funique &out) __attribute__((nothrow));
12738// Copy fields in to row
12739// func:amc.FFunique.base.CopyIn
12740void funique_CopyIn(amc::FFunique &row, dmmeta::Funique &in) __attribute__((nothrow));
12741
12742// func:amc.FFunique..Uninit
12743void FFunique_Uninit(amc::FFunique& funique) __attribute__((nothrow));
12744
12745// --- amc.FFuserinit
12746// create: amc.FDb.fuserinit (Lary)
12747// access: amc.FField.c_fuserinit (Ptr)
12748struct FFuserinit { // amc.FFuserinit
12749 algo::Smallstr100 field; //
12750 algo::Comment comment; //
12751private:
12752 friend amc::FFuserinit& fuserinit_Alloc() __attribute__((__warn_unused_result__, nothrow));
12753 friend amc::FFuserinit* fuserinit_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12754 friend void fuserinit_RemoveAll() __attribute__((nothrow));
12755 friend void fuserinit_RemoveLast() __attribute__((nothrow));
12756 FFuserinit();
12757 ~FFuserinit();
12758 FFuserinit(const FFuserinit&){ /*disallow copy constructor */}
12759 void operator =(const FFuserinit&){ /*disallow direct assignment */}
12760};
12761
12762// Copy fields out of row
12763// func:amc.FFuserinit.base.CopyOut
12764void fuserinit_CopyOut(amc::FFuserinit &row, dmmeta::Fuserinit &out) __attribute__((nothrow));
12765// Copy fields in to row
12766// func:amc.FFuserinit.base.CopyIn
12767void fuserinit_CopyIn(amc::FFuserinit &row, dmmeta::Fuserinit &in) __attribute__((nothrow));
12768
12769// func:amc.FFuserinit..Uninit
12770void FFuserinit_Uninit(amc::FFuserinit& fuserinit) __attribute__((nothrow));
12771
12772// --- amc.FFwddecl
12773// create: amc.FDb.fwddecl (Lary)
12774// global access: ind_fwddecl (Thash)
12775// access: amc.FNs.c_fwddecl (Ptrary)
12776struct FFwddecl { // amc.FFwddecl
12777 amc::FFwddecl* ind_fwddecl_next; // hash next
12778 algo::Smallstr100 fwddecl; //
12779 bool ns_c_fwddecl_in_ary; // false membership flag
12780private:
12781 friend amc::FFwddecl& fwddecl_Alloc() __attribute__((__warn_unused_result__, nothrow));
12782 friend amc::FFwddecl* fwddecl_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12783 friend void fwddecl_RemoveLast() __attribute__((nothrow));
12784 FFwddecl();
12785 ~FFwddecl();
12786 FFwddecl(const FFwddecl&){ /*disallow copy constructor */}
12787 void operator =(const FFwddecl&){ /*disallow direct assignment */}
12788};
12789
12790// Copy fields out of row
12791// func:amc.FFwddecl.msghdr.CopyOut
12792void fwddecl_CopyOut(amc::FFwddecl &row, dmmeta::Fwddecl &out) __attribute__((nothrow));
12793// Copy fields in to row
12794// func:amc.FFwddecl.msghdr.CopyIn
12795void fwddecl_CopyIn(amc::FFwddecl &row, dmmeta::Fwddecl &in) __attribute__((nothrow));
12796
12797// func:amc.FFwddecl.ns.Get
12798algo::Smallstr16 ns_Get(amc::FFwddecl& fwddecl) __attribute__((__warn_unused_result__, nothrow));
12799
12800// func:amc.FFwddecl.ctype.Get
12801algo::Smallstr100 ctype_Get(amc::FFwddecl& fwddecl) __attribute__((__warn_unused_result__, nothrow));
12802
12803// Set all fields to initial values.
12804// func:amc.FFwddecl..Init
12805void FFwddecl_Init(amc::FFwddecl& fwddecl);
12806// func:amc.FFwddecl..Uninit
12807void FFwddecl_Uninit(amc::FFwddecl& fwddecl) __attribute__((nothrow));
12808
12809// --- amc.FGconst
12810// create: amc.FDb.gconst (Lary)
12811// access: amc.FField.c_gconst (Ptr)
12812struct FGconst { // amc.FGconst
12813 algo::Smallstr100 field; // Field with which to associate constants
12814 algo::Smallstr100 namefld; // Field which gives the name of the constant
12815 algo::Smallstr100 idfld; // Optional attribute of namefld that gives numeric ID for gconst
12816 bool wantenum; // true
12817 amc::FField* p_namefld; // reference to parent row
12818 amc::FField* p_field; // reference to parent row
12819private:
12820 friend amc::FGconst& gconst_Alloc() __attribute__((__warn_unused_result__, nothrow));
12821 friend amc::FGconst* gconst_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12822 friend void gconst_RemoveLast() __attribute__((nothrow));
12823 FGconst();
12824 ~FGconst();
12825 FGconst(const FGconst&){ /*disallow copy constructor */}
12826 void operator =(const FGconst&){ /*disallow direct assignment */}
12827};
12828
12829// Copy fields out of row
12830// func:amc.FGconst.msghdr.CopyOut
12831void gconst_CopyOut(amc::FGconst &row, dmmeta::Gconst &out) __attribute__((nothrow));
12832// Copy fields in to row
12833// func:amc.FGconst.msghdr.CopyIn
12834void gconst_CopyIn(amc::FGconst &row, dmmeta::Gconst &in) __attribute__((nothrow));
12835
12836// func:amc.FGconst.namefldctyp.Get
12837algo::Smallstr100 namefldctyp_Get(amc::FGconst& gconst) __attribute__((__warn_unused_result__, nothrow));
12838
12839// Set all fields to initial values.
12840// func:amc.FGconst..Init
12841void FGconst_Init(amc::FGconst& gconst);
12842// func:amc.FGconst..Uninit
12843void FGconst_Uninit(amc::FGconst& gconst) __attribute__((nothrow));
12844
12845// --- amc.FGen
12846// create: amc.FDb.gen (Lary)
12847// global access: zs_gen_perns (Llist)
12848struct FGen { // amc.FGen
12849 amc::FGen* zs_gen_perns_next; // zslist link; -1 means not-in-list
12850 algo::Smallstr50 gen; //
12851 bool perns; // false
12852 algo::Comment comment; //
12853 u64 cycle_total; // 0
12854 amc::gen_step_hook step; // NULL Pointer to a function
12855private:
12856 friend amc::FGen& gen_Alloc() __attribute__((__warn_unused_result__, nothrow));
12857 friend amc::FGen* gen_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12858 friend void gen_RemoveAll() __attribute__((nothrow));
12859 friend void gen_RemoveLast() __attribute__((nothrow));
12860 FGen();
12861 ~FGen();
12862 FGen(const FGen&){ /*disallow copy constructor */}
12863 void operator =(const FGen&){ /*disallow direct assignment */}
12864};
12865
12866// Copy fields out of row
12867// func:amc.FGen.msghdr.CopyOut
12868void gen_CopyOut(amc::FGen &row, amcdb::Gen &out) __attribute__((nothrow));
12869// Copy fields in to row
12870// func:amc.FGen.msghdr.CopyIn
12871void gen_CopyIn(amc::FGen &row, amcdb::Gen &in) __attribute__((nothrow));
12872
12873// Invoke function by pointer
12874// func:amc.FGen.step.Call
12875void step_Call(amc::FGen& gen) __attribute__((nothrow));
12876
12877// Set all fields to initial values.
12878// func:amc.FGen..Init
12879void FGen_Init(amc::FGen& gen);
12880// func:amc.FGen..Uninit
12881void FGen_Uninit(amc::FGen& gen) __attribute__((nothrow));
12882
12883// --- amc.FGenXref
12884struct FGenXref { // amc.FGenXref
12885 amc::FGenXrefSeen** ind_seen_buckets_elems; // pointer to bucket array
12886 i32 ind_seen_buckets_n; // number of elements in bucket array
12887 i32 ind_seen_n; // number of elements in the hash table
12888 amc::FGenXrefSeen* seen_lary[32]; // level array
12889 i32 seen_n; // number of elements in array
12890 FGenXref();
12891 ~FGenXref();
12892private:
12893 // reftype Thash of amc.FGenXref.ind_seen prohibits copy
12894 // reftype Lary of amc.FGenXref.seen prohibits copy
12895 FGenXref(const FGenXref&){ /*disallow copy constructor */}
12896 void operator =(const FGenXref&){ /*disallow direct assignment */}
12897};
12898
12899// Return true if hash is empty
12900// func:amc.FGenXref.ind_seen.EmptyQ
12901bool ind_seen_EmptyQ(amc::FGenXref& parent) __attribute__((nothrow));
12902// Find row by key. Return NULL if not found.
12903// func:amc.FGenXref.ind_seen.Find
12904amc::FGenXrefSeen* ind_seen_Find(amc::FGenXref& parent, const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
12905// Return number of items in the hash
12906// func:amc.FGenXref.ind_seen.N
12907i32 ind_seen_N(const amc::FGenXref& parent) __attribute__((__warn_unused_result__, nothrow, pure));
12908// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
12909// func:amc.FGenXref.ind_seen.InsertMaybe
12910bool ind_seen_InsertMaybe(amc::FGenXref& parent, amc::FGenXrefSeen& row) __attribute__((nothrow));
12911// Remove reference to element from hash index. If element is not in hash, do nothing
12912// func:amc.FGenXref.ind_seen.Remove
12913void ind_seen_Remove(amc::FGenXref& parent, amc::FGenXrefSeen& row) __attribute__((nothrow));
12914// Reserve enough room in the hash for N more elements. Return success code.
12915// func:amc.FGenXref.ind_seen.Reserve
12916void ind_seen_Reserve(amc::FGenXref& parent, int n) __attribute__((nothrow));
12917
12918// Allocate memory for new default row.
12919// If out of memory, process is killed.
12920// func:amc.FGenXref.seen.Alloc
12921amc::FGenXrefSeen& seen_Alloc(amc::FGenXref& parent) __attribute__((__warn_unused_result__, nothrow));
12922// Allocate memory for new element. If out of memory, return NULL.
12923// func:amc.FGenXref.seen.AllocMaybe
12924amc::FGenXrefSeen* seen_AllocMaybe(amc::FGenXref& parent) __attribute__((__warn_unused_result__, nothrow));
12925// Allocate space for one element. If no memory available, return NULL.
12926// func:amc.FGenXref.seen.AllocMem
12927void* seen_AllocMem(amc::FGenXref& parent) __attribute__((__warn_unused_result__, nothrow));
12928// Return true if index is empty
12929// func:amc.FGenXref.seen.EmptyQ
12930bool seen_EmptyQ(amc::FGenXref& parent) __attribute__((nothrow, pure));
12931// Look up row by row id. Return NULL if out of range
12932// func:amc.FGenXref.seen.Find
12933amc::FGenXrefSeen* seen_Find(amc::FGenXref& parent, u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
12934// Return pointer to last element of array, or NULL if array is empty
12935// func:amc.FGenXref.seen.Last
12936amc::FGenXrefSeen* seen_Last(amc::FGenXref& parent) __attribute__((nothrow, pure));
12937// Return number of items in the pool
12938// func:amc.FGenXref.seen.N
12939i32 seen_N(const amc::FGenXref& parent) __attribute__((__warn_unused_result__, nothrow, pure));
12940// Remove all elements from Lary
12941// func:amc.FGenXref.seen.RemoveAll
12942void seen_RemoveAll(amc::FGenXref& parent) __attribute__((nothrow));
12943// Delete last element of array. Do nothing if array is empty.
12944// func:amc.FGenXref.seen.RemoveLast
12945void seen_RemoveLast(amc::FGenXref& parent) __attribute__((nothrow));
12946// 'quick' Access row by row id. No bounds checking.
12947// func:amc.FGenXref.seen.qFind
12948amc::FGenXrefSeen& seen_qFind(amc::FGenXref& parent, u64 t) __attribute__((nothrow, pure));
12949// Insert row into all appropriate indices. If error occurs, store error
12950// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
12951// func:amc.FGenXref.seen.XrefMaybe
12952bool seen_XrefMaybe(amc::FGenXrefSeen &row);
12953
12954// cursor points to valid item
12955// func:amc.FGenXref.seen_curs.Reset
12956void FGenXref_seen_curs_Reset(FGenXref_seen_curs &curs, amc::FGenXref &parent) __attribute__((nothrow));
12957// cursor points to valid item
12958// func:amc.FGenXref.seen_curs.ValidQ
12959bool FGenXref_seen_curs_ValidQ(FGenXref_seen_curs &curs) __attribute__((nothrow));
12960// proceed to next item
12961// func:amc.FGenXref.seen_curs.Next
12962void FGenXref_seen_curs_Next(FGenXref_seen_curs &curs) __attribute__((nothrow));
12963// item access
12964// func:amc.FGenXref.seen_curs.Access
12965amc::FGenXrefSeen& FGenXref_seen_curs_Access(FGenXref_seen_curs &curs) __attribute__((nothrow));
12966// Set all fields to initial values.
12967// func:amc.FGenXref..Init
12968void FGenXref_Init(amc::FGenXref& parent);
12969// func:amc.FGenXref..Uninit
12970void FGenXref_Uninit(amc::FGenXref& parent) __attribute__((nothrow));
12971
12972// --- amc.FGenXrefSeen
12973// create: amc.FGenXref.seen (Lary)
12974// access: amc.FGenXref.ind_seen (Thash)
12975struct FGenXrefSeen { // amc.FGenXrefSeen
12976 amc::FGenXrefSeen* ind_seen_next; // hash next
12977 algo::cstring value; //
12978 algo::Smallstr100 via; // Saved via
12979 algo::Smallstr100 xreffld; // Saved xreffld
12980private:
12981 friend amc::FGenXrefSeen& seen_Alloc(amc::FGenXref& parent) __attribute__((__warn_unused_result__, nothrow));
12982 friend amc::FGenXrefSeen* seen_AllocMaybe(amc::FGenXref& parent) __attribute__((__warn_unused_result__, nothrow));
12983 friend void seen_RemoveAll(amc::FGenXref& parent) __attribute__((nothrow));
12984 friend void seen_RemoveLast(amc::FGenXref& parent) __attribute__((nothrow));
12985 FGenXrefSeen();
12986};
12987
12988// Set all fields to initial values.
12989// func:amc.FGenXrefSeen..Init
12990void FGenXrefSeen_Init(amc::FGenXrefSeen& seen);
12991
12992// --- amc.FGstatic
12993// create: amc.FDb.gstatic (Lary)
12994// access: amc.FField.c_gstatic (Ptr)
12995// access: amc.FNs.c_gstatic (Ptrary)
12996struct FGstatic { // amc.FGstatic
12997 algo::Smallstr100 field; //
12998 amc::FField* p_field; // reference to parent row
12999 u32 rowid; // 0
13000 bool ns_c_gstatic_in_ary; // false membership flag
13001private:
13002 friend amc::FGstatic& gstatic_Alloc() __attribute__((__warn_unused_result__, nothrow));
13003 friend amc::FGstatic* gstatic_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13004 friend void gstatic_RemoveLast() __attribute__((nothrow));
13005 FGstatic();
13006 ~FGstatic();
13007 FGstatic(const FGstatic&){ /*disallow copy constructor */}
13008 void operator =(const FGstatic&){ /*disallow direct assignment */}
13009};
13010
13011// Copy fields out of row
13012// func:amc.FGstatic.msghdr.CopyOut
13013void gstatic_CopyOut(amc::FGstatic &row, dmmeta::Gstatic &out) __attribute__((nothrow));
13014// Copy fields in to row
13015// func:amc.FGstatic.msghdr.CopyIn
13016void gstatic_CopyIn(amc::FGstatic &row, dmmeta::Gstatic &in) __attribute__((nothrow));
13017
13018// func:amc.FGstatic.ns.Get
13019algo::Smallstr16 ns_Get(amc::FGstatic& gstatic) __attribute__((__warn_unused_result__, nothrow));
13020
13021// Set all fields to initial values.
13022// func:amc.FGstatic..Init
13023void FGstatic_Init(amc::FGstatic& gstatic);
13024// func:amc.FGstatic..Uninit
13025void FGstatic_Uninit(amc::FGstatic& gstatic) __attribute__((nothrow));
13026
13027// --- amc.FGsymbol
13028// create: amc.FDb.gsymbol (Lary)
13029// access: amc.FNs.c_gsymbol (Ptrary)
13030struct FGsymbol { // amc.FGsymbol
13031 algo::Smallstr50 gsymbol; //
13032 algo::Smallstr100 inc; // Regex to filter rows
13033 algo::Smallstr100 symboltype; //
13034 algo::Comment comment; //
13035 amc::FSsimfile* p_ssimfile; // reference to parent row
13036 amc::FCtype* p_symboltype; // reference to parent row
13037 bool ns_c_gsymbol_in_ary; // false membership flag
13038private:
13039 friend amc::FGsymbol& gsymbol_Alloc() __attribute__((__warn_unused_result__, nothrow));
13040 friend amc::FGsymbol* gsymbol_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13041 friend void gsymbol_RemoveAll() __attribute__((nothrow));
13042 friend void gsymbol_RemoveLast() __attribute__((nothrow));
13043 FGsymbol();
13044 ~FGsymbol();
13045 FGsymbol(const FGsymbol&){ /*disallow copy constructor */}
13046 void operator =(const FGsymbol&){ /*disallow direct assignment */}
13047};
13048
13049// Copy fields out of row
13050// func:amc.FGsymbol.base.CopyOut
13051void gsymbol_CopyOut(amc::FGsymbol &row, dmmeta::Gsymbol &out) __attribute__((nothrow));
13052// Copy fields in to row
13053// func:amc.FGsymbol.base.CopyIn
13054void gsymbol_CopyIn(amc::FGsymbol &row, dmmeta::Gsymbol &in) __attribute__((nothrow));
13055
13056// func:amc.FGsymbol.ns.Get
13057algo::Smallstr16 ns_Get(amc::FGsymbol& gsymbol) __attribute__((__warn_unused_result__, nothrow));
13058
13059// func:amc.FGsymbol.ssimfile.Get
13060algo::Smallstr50 ssimfile_Get(amc::FGsymbol& gsymbol) __attribute__((__warn_unused_result__, nothrow));
13061
13062// Set all fields to initial values.
13063// func:amc.FGsymbol..Init
13064void FGsymbol_Init(amc::FGsymbol& gsymbol);
13065// func:amc.FGsymbol..Uninit
13066void FGsymbol_Uninit(amc::FGsymbol& gsymbol) __attribute__((nothrow));
13067
13068// --- amc.FHook
13069// create: amc.FDb.hook (Lary)
13070// access: amc.FField.c_hook (Ptr)
13071struct FHook { // amc.FHook
13072 algo::Smallstr100 field; // The field
13073 algo::Comment comment; //
13074 amc::FCtype* p_funcptr; // reference to parent row
13075 amc::FField* p_field; // reference to parent row
13076private:
13077 friend amc::FHook& hook_Alloc() __attribute__((__warn_unused_result__, nothrow));
13078 friend amc::FHook* hook_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13079 friend void hook_RemoveAll() __attribute__((nothrow));
13080 friend void hook_RemoveLast() __attribute__((nothrow));
13081 FHook();
13082 ~FHook();
13083 FHook(const FHook&){ /*disallow copy constructor */}
13084 void operator =(const FHook&){ /*disallow direct assignment */}
13085};
13086
13087// Copy fields out of row
13088// func:amc.FHook.base.CopyOut
13089void hook_CopyOut(amc::FHook &row, dmmeta::Hook &out) __attribute__((nothrow));
13090// Copy fields in to row
13091// func:amc.FHook.base.CopyIn
13092void hook_CopyIn(amc::FHook &row, dmmeta::Hook &in) __attribute__((nothrow));
13093
13094// Set all fields to initial values.
13095// func:amc.FHook..Init
13096void FHook_Init(amc::FHook& hook);
13097// func:amc.FHook..Uninit
13098void FHook_Uninit(amc::FHook& hook) __attribute__((nothrow));
13099
13100// --- amc.FInlary
13101// create: amc.FDb.inlary (Lary)
13102// global access: ind_inlary (Thash)
13103// access: amc.FField.c_inlary (Ptr)
13104struct FInlary { // amc.FInlary
13105 amc::FInlary* ind_inlary_next; // hash next
13106 algo::Smallstr100 field; //
13107 i32 min; // 0 Min. elements to preallocate
13108 i32 max; // 0 Max. elements
13109 algo::Comment comment; //
13110private:
13111 friend amc::FInlary& inlary_Alloc() __attribute__((__warn_unused_result__, nothrow));
13112 friend amc::FInlary* inlary_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13113 friend void inlary_RemoveLast() __attribute__((nothrow));
13114 FInlary();
13115 ~FInlary();
13116 FInlary(const FInlary&){ /*disallow copy constructor */}
13117 void operator =(const FInlary&){ /*disallow direct assignment */}
13118};
13119
13120// Copy fields out of row
13121// func:amc.FInlary.msghdr.CopyOut
13122void inlary_CopyOut(amc::FInlary &row, dmmeta::Inlary &out) __attribute__((nothrow));
13123// Copy fields in to row
13124// func:amc.FInlary.msghdr.CopyIn
13125void inlary_CopyIn(amc::FInlary &row, dmmeta::Inlary &in) __attribute__((nothrow));
13126
13127// Set all fields to initial values.
13128// func:amc.FInlary..Init
13129void FInlary_Init(amc::FInlary& inlary);
13130// func:amc.FInlary..Uninit
13131void FInlary_Uninit(amc::FInlary& inlary) __attribute__((nothrow));
13132
13133// --- amc.FLenfld
13134// create: amc.FDb.lenfld (Lary)
13135// access: amc.FCtype.c_lenfld (Ptr)
13136struct FLenfld { // amc.FLenfld
13137 algo::Smallstr100 field; // Name of length field
13138 i32 extra; // 0 Extra #bytes to add
13139 amc::FField* p_field; // reference to parent row
13140private:
13141 friend amc::FLenfld& lenfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
13142 friend amc::FLenfld* lenfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13143 friend void lenfld_RemoveLast() __attribute__((nothrow));
13144 FLenfld();
13145 ~FLenfld();
13146 FLenfld(const FLenfld&){ /*disallow copy constructor */}
13147 void operator =(const FLenfld&){ /*disallow direct assignment */}
13148};
13149
13150// Copy fields out of row
13151// func:amc.FLenfld.msghdr.CopyOut
13152void lenfld_CopyOut(amc::FLenfld &row, dmmeta::Lenfld &out) __attribute__((nothrow));
13153// Copy fields in to row
13154// func:amc.FLenfld.msghdr.CopyIn
13155void lenfld_CopyIn(amc::FLenfld &row, dmmeta::Lenfld &in) __attribute__((nothrow));
13156
13157// func:amc.FLenfld.ctype.Get
13158algo::Smallstr100 ctype_Get(amc::FLenfld& lenfld) __attribute__((__warn_unused_result__, nothrow));
13159
13160// Set all fields to initial values.
13161// func:amc.FLenfld..Init
13162void FLenfld_Init(amc::FLenfld& lenfld);
13163// func:amc.FLenfld..Uninit
13164void FLenfld_Uninit(amc::FLenfld& lenfld) __attribute__((nothrow));
13165
13166// --- amc.FLicense
13167// create: amc.FDb.license (Lary)
13168// global access: ind_license (Thash)
13169// access: amc.FNs.p_license (Upptr)
13170struct FLicense { // amc.FLicense
13171 amc::FLicense* ind_license_next; // hash next
13172 algo::Smallstr50 license; //
13173 algo::Comment comment; //
13174 algo::cstring text; //
13175private:
13176 friend amc::FLicense& license_Alloc() __attribute__((__warn_unused_result__, nothrow));
13177 friend amc::FLicense* license_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13178 friend void license_RemoveAll() __attribute__((nothrow));
13179 friend void license_RemoveLast() __attribute__((nothrow));
13180 FLicense();
13181 ~FLicense();
13182 FLicense(const FLicense&){ /*disallow copy constructor */}
13183 void operator =(const FLicense&){ /*disallow direct assignment */}
13184};
13185
13186// Copy fields out of row
13187// func:amc.FLicense.base.CopyOut
13188void license_CopyOut(amc::FLicense &row, dev::License &out) __attribute__((nothrow));
13189// Copy fields in to row
13190// func:amc.FLicense.base.CopyIn
13191void license_CopyIn(amc::FLicense &row, dev::License &in) __attribute__((nothrow));
13192
13193// Set all fields to initial values.
13194// func:amc.FLicense..Init
13195void FLicense_Init(amc::FLicense& license);
13196// func:amc.FLicense..Uninit
13197void FLicense_Uninit(amc::FLicense& license) __attribute__((nothrow));
13198
13199// --- amc.FListtype
13200// create: amc.FDb.listtype (Lary)
13201// global access: ind_listtype (Thash)
13202// access: amc.FLlist.p_listtype (Upptr)
13203struct FListtype { // amc.FListtype
13204 amc::FListtype* ind_listtype_next; // hash next
13205 algo::Smallstr5 listtype; //
13206 bool circular; // false Circular list
13207 bool haveprev; // false Previous link
13208 bool instail; // false Queue
13209private:
13210 friend amc::FListtype& listtype_Alloc() __attribute__((__warn_unused_result__, nothrow));
13211 friend amc::FListtype* listtype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13212 friend void listtype_RemoveLast() __attribute__((nothrow));
13213 FListtype();
13214 ~FListtype();
13215 FListtype(const FListtype&){ /*disallow copy constructor */}
13216 void operator =(const FListtype&){ /*disallow direct assignment */}
13217};
13218
13219// Copy fields out of row
13220// func:amc.FListtype.msghdr.CopyOut
13221void listtype_CopyOut(amc::FListtype &row, dmmeta::Listtype &out) __attribute__((nothrow));
13222// Copy fields in to row
13223// func:amc.FListtype.msghdr.CopyIn
13224void listtype_CopyIn(amc::FListtype &row, dmmeta::Listtype &in) __attribute__((nothrow));
13225
13226// Set all fields to initial values.
13227// func:amc.FListtype..Init
13228void FListtype_Init(amc::FListtype& listtype);
13229// func:amc.FListtype..Uninit
13230void FListtype_Uninit(amc::FListtype& listtype) __attribute__((nothrow));
13231
13232// --- amc.FLlist
13233// create: amc.FDb.llist (Lary)
13234// access: amc.FField.c_llist (Ptr)
13235struct FLlist { // amc.FLlist
13236 algo::Smallstr100 field; // Index in question
13237 bool havetail; // true Generate 'tail' field
13238 bool havecount; // false Generate count of elements
13239 amc::FListtype* p_listtype; // reference to parent row
13240private:
13241 friend amc::FLlist& llist_Alloc() __attribute__((__warn_unused_result__, nothrow));
13242 friend amc::FLlist* llist_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13243 friend void llist_RemoveLast() __attribute__((nothrow));
13244 FLlist();
13245 ~FLlist();
13246 FLlist(const FLlist&){ /*disallow copy constructor */}
13247 void operator =(const FLlist&){ /*disallow direct assignment */}
13248};
13249
13250// Copy fields out of row
13251// func:amc.FLlist.msghdr.CopyOut
13252void llist_CopyOut(amc::FLlist &row, dmmeta::Llist &out) __attribute__((nothrow));
13253// Copy fields in to row
13254// func:amc.FLlist.msghdr.CopyIn
13255void llist_CopyIn(amc::FLlist &row, dmmeta::Llist &in) __attribute__((nothrow));
13256
13257// func:amc.FLlist.listtype.Get
13258algo::Smallstr5 listtype_Get(amc::FLlist& llist) __attribute__((__warn_unused_result__, nothrow));
13259
13260// Set all fields to initial values.
13261// func:amc.FLlist..Init
13262void FLlist_Init(amc::FLlist& llist);
13263// func:amc.FLlist..Uninit
13264void FLlist_Uninit(amc::FLlist& llist) __attribute__((nothrow));
13265
13266// --- amc.FMain
13267// create: amc.FDb.main (Lary)
13268// global access: ind_main (Thash)
13269// access: amc.FNs.c_main (Ptr)
13270struct FMain { // amc.FMain
13271 amc::FMain* ind_main_next; // hash next
13272 algo::Smallstr16 ns; //
13273 bool ismodule; // false
13274private:
13275 friend amc::FMain& main_Alloc() __attribute__((__warn_unused_result__, nothrow));
13276 friend amc::FMain* main_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13277 friend void main_RemoveLast() __attribute__((nothrow));
13278 FMain();
13279 ~FMain();
13280 FMain(const FMain&){ /*disallow copy constructor */}
13281 void operator =(const FMain&){ /*disallow direct assignment */}
13282};
13283
13284// Copy fields out of row
13285// func:amc.FMain.msghdr.CopyOut
13286void main_CopyOut(amc::FMain &row, dmmeta::Main &out) __attribute__((nothrow));
13287// Copy fields in to row
13288// func:amc.FMain.msghdr.CopyIn
13289void main_CopyIn(amc::FMain &row, dmmeta::Main &in) __attribute__((nothrow));
13290
13291// Set all fields to initial values.
13292// func:amc.FMain..Init
13293void FMain_Init(amc::FMain& main);
13294// func:amc.FMain..Uninit
13295void FMain_Uninit(amc::FMain& main) __attribute__((nothrow));
13296
13297// --- amc.FMsgtype
13298// create: amc.FDb.msgtype (Lary)
13299// access: amc.FCtype.c_msgtype (Ptr)
13300struct FMsgtype { // amc.FMsgtype
13301 algo::Smallstr100 ctype; //
13302 algo::CppExpr type; //
13303 amc::FCtype* p_ctype; // reference to parent row
13304private:
13305 friend amc::FMsgtype& msgtype_Alloc() __attribute__((__warn_unused_result__, nothrow));
13306 friend amc::FMsgtype* msgtype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13307 friend void msgtype_RemoveLast() __attribute__((nothrow));
13308 FMsgtype();
13309 ~FMsgtype();
13310 FMsgtype(const FMsgtype&){ /*disallow copy constructor */}
13311 void operator =(const FMsgtype&){ /*disallow direct assignment */}
13312};
13313
13314// Copy fields out of row
13315// func:amc.FMsgtype.msghdr.CopyOut
13316void msgtype_CopyOut(amc::FMsgtype &row, dmmeta::Msgtype &out) __attribute__((nothrow));
13317// Copy fields in to row
13318// func:amc.FMsgtype.msghdr.CopyIn
13319void msgtype_CopyIn(amc::FMsgtype &row, dmmeta::Msgtype &in) __attribute__((nothrow));
13320
13321// Set all fields to initial values.
13322// func:amc.FMsgtype..Init
13323void FMsgtype_Init(amc::FMsgtype& msgtype);
13324// func:amc.FMsgtype..Uninit
13325void FMsgtype_Uninit(amc::FMsgtype& msgtype) __attribute__((nothrow));
13326
13327// --- amc.FNocascdel
13328// create: amc.FDb.nocascdel (Lary)
13329// access: amc.FXref.c_nocascdel (Ptr)
13330struct FNocascdel { // amc.FNocascdel
13331 algo::Smallstr100 xref; //
13332private:
13333 friend amc::FNocascdel& nocascdel_Alloc() __attribute__((__warn_unused_result__, nothrow));
13334 friend amc::FNocascdel* nocascdel_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13335 friend void nocascdel_RemoveLast() __attribute__((nothrow));
13336 FNocascdel();
13337 ~FNocascdel();
13338 FNocascdel(const FNocascdel&){ /*disallow copy constructor */}
13339 void operator =(const FNocascdel&){ /*disallow direct assignment */}
13340};
13341
13342// Copy fields out of row
13343// func:amc.FNocascdel.msghdr.CopyOut
13344void nocascdel_CopyOut(amc::FNocascdel &row, dmmeta::Nocascdel &out) __attribute__((nothrow));
13345// Copy fields in to row
13346// func:amc.FNocascdel.msghdr.CopyIn
13347void nocascdel_CopyIn(amc::FNocascdel &row, dmmeta::Nocascdel &in) __attribute__((nothrow));
13348
13349// func:amc.FNocascdel..Uninit
13350void FNocascdel_Uninit(amc::FNocascdel& nocascdel) __attribute__((nothrow));
13351
13352// --- amc.FNossimfile
13353// create: amc.FDb.nossimfile (Lary)
13354// access: amc.FCtype.c_nossimfile (Ptr)
13355struct FNossimfile { // amc.FNossimfile
13356 algo::Smallstr100 ctype; //
13357 algo::Comment comment; //
13358private:
13359 friend amc::FNossimfile& nossimfile_Alloc() __attribute__((__warn_unused_result__, nothrow));
13360 friend amc::FNossimfile* nossimfile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13361 friend void nossimfile_RemoveAll() __attribute__((nothrow));
13362 friend void nossimfile_RemoveLast() __attribute__((nothrow));
13363 FNossimfile();
13364 ~FNossimfile();
13365 FNossimfile(const FNossimfile&){ /*disallow copy constructor */}
13366 void operator =(const FNossimfile&){ /*disallow direct assignment */}
13367};
13368
13369// Copy fields out of row
13370// func:amc.FNossimfile.base.CopyOut
13371void nossimfile_CopyOut(amc::FNossimfile &row, dmmeta::Nossimfile &out) __attribute__((nothrow));
13372// Copy fields in to row
13373// func:amc.FNossimfile.base.CopyIn
13374void nossimfile_CopyIn(amc::FNossimfile &row, dmmeta::Nossimfile &in) __attribute__((nothrow));
13375
13376// func:amc.FNossimfile..Uninit
13377void FNossimfile_Uninit(amc::FNossimfile& nossimfile) __attribute__((nothrow));
13378
13379// --- amc.FNoxref
13380// create: amc.FDb.noxref (Lary)
13381// access: amc.FField.c_noxref (Ptr)
13382struct FNoxref { // amc.FNoxref
13383 algo::Smallstr100 field; //
13384private:
13385 friend amc::FNoxref& noxref_Alloc() __attribute__((__warn_unused_result__, nothrow));
13386 friend amc::FNoxref* noxref_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13387 friend void noxref_RemoveLast() __attribute__((nothrow));
13388 FNoxref();
13389 ~FNoxref();
13390 FNoxref(const FNoxref&){ /*disallow copy constructor */}
13391 void operator =(const FNoxref&){ /*disallow direct assignment */}
13392};
13393
13394// Copy fields out of row
13395// func:amc.FNoxref.msghdr.CopyOut
13396void noxref_CopyOut(amc::FNoxref &row, dmmeta::Noxref &out) __attribute__((nothrow));
13397// Copy fields in to row
13398// func:amc.FNoxref.msghdr.CopyIn
13399void noxref_CopyIn(amc::FNoxref &row, dmmeta::Noxref &in) __attribute__((nothrow));
13400
13401// func:amc.FNoxref..Uninit
13402void FNoxref_Uninit(amc::FNoxref& noxref) __attribute__((nothrow));
13403
13404// --- amc.FNs
13405// create: amc.FDb.ns (Lary)
13406// global access: ind_ns (Thash)
13407// global access: c_ns_sorted (Ptrary)
13408// global access: c_curns (Ptr)
13409// global access: c_ns (Ptr)
13410// access: amc.FCtype.p_ns (Upptr)
13411// access: amc.FDispatch.p_ns (Upptr)
13412// access: amc.FFcmdline.p_ns (Upptr)
13413// access: amc.FFunc.p_ns (Upptr)
13414// access: amc.FNs.c_parentns (Ptrary)
13415// access: amc.FNs.c_cppincl (Ptrary)
13416// access: amc.FNs.c_hdrincl (Ptrary)
13417// access: amc.FOutfile.p_ns (Upptr)
13418// access: amc.FPnew.p_ns (Upptr)
13419// access: amc.FTarget.p_ns (Upptr)
13420// access: amc.Genctx.p_ns (Upptr)
13421struct FNs { // amc.FNs
13422 amc::FNs* ind_ns_next; // hash next
13423 algo::Smallstr16 ns; // Namespace name (primary key)
13424 algo::Smallstr50 nstype; // Namespace type
13425 algo::Smallstr50 license; // Associated license
13426 algo::Comment comment; //
13427 i32 nhash; // 0 number of hash functions generated (hack)
13428 algo::cstring curstext; //
13429 amc::FCtype** c_ctype_elems; // array of pointers
13430 u32 c_ctype_n; // array of pointers
13431 u32 c_ctype_max; // capacity of allocated array
13432 amc::FFunc** c_func_elems; // array of pointers
13433 u32 c_func_n; // array of pointers
13434 u32 c_func_max; // capacity of allocated array
13435 amc::FDispatch** c_dispatch_elems; // array of pointers
13436 u32 c_dispatch_n; // array of pointers
13437 u32 c_dispatch_max; // capacity of allocated array
13438 amc::FField* c_globfld; // optional pointer
13439 amc::FGstatic** c_gstatic_elems; // array of pointers
13440 u32 c_gstatic_n; // array of pointers
13441 u32 c_gstatic_max; // capacity of allocated array
13442 amc::FMain* c_main; // optional pointer
13443 algo::cstring* hdr; // Temporary hack -- pointer to hdr contents. optional pointer
13444 algo::cstring* inl; // optional pointer
13445 algo::cstring* cpp; // optional pointer
13446 algo::cstring* include_elems; // pointer to elements
13447 u32 include_n; // number of elements in array
13448 u32 include_max; // max. capacity of array before realloc
13449 algo::Sha1sig signature; //
13450 algo::Sha1sig signature_input; //
13451 amc::FDispsig** c_dispsig_elems; // array of pointers
13452 u32 c_dispsig_n; // array of pointers
13453 u32 c_dispsig_max; // capacity of allocated array
13454 amc::FNs** c_parentns_elems; // array of pointers
13455 u32 c_parentns_n; // array of pointers
13456 u32 c_parentns_max; // capacity of allocated array
13457 amc::FNs** c_cppincl_elems; // array of pointers
13458 u32 c_cppincl_n; // array of pointers
13459 u32 c_cppincl_max; // capacity of allocated array
13460 amc::FNs** c_hdrincl_elems; // array of pointers
13461 u32 c_hdrincl_n; // array of pointers
13462 u32 c_hdrincl_max; // capacity of allocated array
13463 amc::FFwddecl** c_fwddecl_elems; // array of pointers
13464 u32 c_fwddecl_n; // array of pointers
13465 u32 c_fwddecl_max; // capacity of allocated array
13466 bool select; // false
13467 amc::FNsx* c_nsx; // optional pointer
13468 amc::FTarget* c_target; // optional pointer
13469 amc::FPnew** c_pnew_elems; // array of pointers
13470 u32 c_pnew_n; // array of pointers
13471 u32 c_pnew_max; // capacity of allocated array
13472 amc::FFcmdline* c_fcmdline; // optional pointer
13473 amc::FNsproto* c_nsproto; // optional pointer
13474 amc::FNsdb* c_nsdb; // optional pointer
13475 amc::FOutfile** c_outfile_elems; // array of pointers
13476 u32 c_outfile_n; // array of pointers
13477 u32 c_outfile_max; // capacity of allocated array
13478 amc::FFoutput** c_foutput_elems; // array of pointers
13479 u32 c_foutput_n; // array of pointers
13480 u32 c_foutput_max; // capacity of allocated array
13481 amc::FFstep** c_fstep_elems; // array of pointers
13482 u32 c_fstep_n; // array of pointers
13483 u32 c_fstep_max; // capacity of allocated array
13484 amc::FGsymbol** c_gsymbol_elems; // array of pointers
13485 u32 c_gsymbol_n; // array of pointers
13486 u32 c_gsymbol_max; // capacity of allocated array
13487 amc::FNsinclude** c_nsinclude_elems; // array of pointers
13488 u32 c_nsinclude_n; // array of pointers
13489 u32 c_nsinclude_max; // capacity of allocated array
13490 amc::FNscpp* c_nscpp; // optional pointer
13491 amc::FLicense* p_license; // reference to parent row
13492private:
13493 friend amc::FNs& ns_Alloc() __attribute__((__warn_unused_result__, nothrow));
13494 friend amc::FNs* ns_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13495 friend void ns_RemoveLast() __attribute__((nothrow));
13496 FNs();
13497 ~FNs();
13498 FNs(const FNs&){ /*disallow copy constructor */}
13499 void operator =(const FNs&){ /*disallow direct assignment */}
13500};
13501
13502// Copy fields out of row
13503// func:amc.FNs.msghdr.CopyOut
13504void ns_CopyOut(amc::FNs &row, dmmeta::Ns &out) __attribute__((nothrow));
13505// Copy fields in to row
13506// func:amc.FNs.msghdr.CopyIn
13507void ns_CopyIn(amc::FNs &row, dmmeta::Ns &in) __attribute__((nothrow));
13508
13509// Return true if index is empty
13510// func:amc.FNs.c_ctype.EmptyQ
13511bool c_ctype_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13512// Look up row by row id. Return NULL if out of range
13513// func:amc.FNs.c_ctype.Find
13514amc::FCtype* c_ctype_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13515// Return array of pointers
13516// func:amc.FNs.c_ctype.Getary
13517algo::aryptr<amc::FCtype*> c_ctype_Getary(amc::FNs& ns) __attribute__((nothrow));
13518// Insert pointer to row into array. Row must not already be in array.
13519// If pointer is already in the array, it may be inserted twice.
13520// func:amc.FNs.c_ctype.Insert
13521void c_ctype_Insert(amc::FNs& ns, amc::FCtype& row) __attribute__((nothrow));
13522// Insert pointer to row in array.
13523// If row is already in the array, do nothing.
13524// Return value: whether element was inserted into array.
13525// func:amc.FNs.c_ctype.InsertMaybe
13526bool c_ctype_InsertMaybe(amc::FNs& ns, amc::FCtype& row) __attribute__((nothrow));
13527// Return number of items in the pointer array
13528// func:amc.FNs.c_ctype.N
13529i32 c_ctype_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13530// Find element using linear scan. If element is in array, remove, otherwise do nothing
13531// func:amc.FNs.c_ctype.Remove
13532void c_ctype_Remove(amc::FNs& ns, amc::FCtype& row) __attribute__((nothrow));
13533// Empty the index. (The rows are not deleted)
13534// func:amc.FNs.c_ctype.RemoveAll
13535void c_ctype_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13536// Reserve space in index for N more elements;
13537// func:amc.FNs.c_ctype.Reserve
13538void c_ctype_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13539// Return reference without bounds checking
13540// func:amc.FNs.c_ctype.qFind
13541amc::FCtype& c_ctype_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13542// True if row is in any ptrary instance
13543// func:amc.FNs.c_ctype.InAryQ
13544bool ns_c_ctype_InAryQ(amc::FCtype& row) __attribute__((nothrow));
13545// Reference to last element without bounds checking
13546// func:amc.FNs.c_ctype.qLast
13547amc::FCtype& c_ctype_qLast(amc::FNs& ns) __attribute__((nothrow));
13548
13549// Return true if index is empty
13550// func:amc.FNs.c_func.EmptyQ
13551bool c_func_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13552// Look up row by row id. Return NULL if out of range
13553// func:amc.FNs.c_func.Find
13554amc::FFunc* c_func_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13555// Return array of pointers
13556// func:amc.FNs.c_func.Getary
13557algo::aryptr<amc::FFunc*> c_func_Getary(amc::FNs& ns) __attribute__((nothrow));
13558// Insert pointer to row into array. Row must not already be in array.
13559// If pointer is already in the array, it may be inserted twice.
13560// func:amc.FNs.c_func.Insert
13561void c_func_Insert(amc::FNs& ns, amc::FFunc& row) __attribute__((nothrow));
13562// Insert pointer to row in array.
13563// If row is already in the array, do nothing.
13564// Return value: whether element was inserted into array.
13565// func:amc.FNs.c_func.InsertMaybe
13566bool c_func_InsertMaybe(amc::FNs& ns, amc::FFunc& row) __attribute__((nothrow));
13567// Return number of items in the pointer array
13568// func:amc.FNs.c_func.N
13569i32 c_func_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13570// Find element using linear scan. If element is in array, remove, otherwise do nothing
13571// func:amc.FNs.c_func.Remove
13572void c_func_Remove(amc::FNs& ns, amc::FFunc& row) __attribute__((nothrow));
13573// Empty the index. (The rows are not deleted)
13574// func:amc.FNs.c_func.RemoveAll
13575void c_func_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13576// Reserve space in index for N more elements;
13577// func:amc.FNs.c_func.Reserve
13578void c_func_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13579// Return reference without bounds checking
13580// func:amc.FNs.c_func.qFind
13581amc::FFunc& c_func_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13582// True if row is in any ptrary instance
13583// func:amc.FNs.c_func.InAryQ
13584bool ns_c_func_InAryQ(amc::FFunc& row) __attribute__((nothrow));
13585// Reference to last element without bounds checking
13586// func:amc.FNs.c_func.qLast
13587amc::FFunc& c_func_qLast(amc::FNs& ns) __attribute__((nothrow));
13588
13589// Return true if index is empty
13590// func:amc.FNs.c_dispatch.EmptyQ
13591bool c_dispatch_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13592// Look up row by row id. Return NULL if out of range
13593// func:amc.FNs.c_dispatch.Find
13594amc::FDispatch* c_dispatch_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13595// Return array of pointers
13596// func:amc.FNs.c_dispatch.Getary
13597algo::aryptr<amc::FDispatch*> c_dispatch_Getary(amc::FNs& ns) __attribute__((nothrow));
13598// Insert pointer to row into array. Row must not already be in array.
13599// If pointer is already in the array, it may be inserted twice.
13600// func:amc.FNs.c_dispatch.Insert
13601void c_dispatch_Insert(amc::FNs& ns, amc::FDispatch& row) __attribute__((nothrow));
13602// Insert pointer to row in array.
13603// If row is already in the array, do nothing.
13604// Return value: whether element was inserted into array.
13605// func:amc.FNs.c_dispatch.InsertMaybe
13606bool c_dispatch_InsertMaybe(amc::FNs& ns, amc::FDispatch& row) __attribute__((nothrow));
13607// Return number of items in the pointer array
13608// func:amc.FNs.c_dispatch.N
13609i32 c_dispatch_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13610// Find element using linear scan. If element is in array, remove, otherwise do nothing
13611// func:amc.FNs.c_dispatch.Remove
13612void c_dispatch_Remove(amc::FNs& ns, amc::FDispatch& row) __attribute__((nothrow));
13613// Empty the index. (The rows are not deleted)
13614// func:amc.FNs.c_dispatch.RemoveAll
13615void c_dispatch_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13616// Reserve space in index for N more elements;
13617// func:amc.FNs.c_dispatch.Reserve
13618void c_dispatch_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13619// Return reference without bounds checking
13620// func:amc.FNs.c_dispatch.qFind
13621amc::FDispatch& c_dispatch_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13622// True if row is in any ptrary instance
13623// func:amc.FNs.c_dispatch.InAryQ
13624bool ns_c_dispatch_InAryQ(amc::FDispatch& row) __attribute__((nothrow));
13625// Reference to last element without bounds checking
13626// func:amc.FNs.c_dispatch.qLast
13627amc::FDispatch& c_dispatch_qLast(amc::FNs& ns) __attribute__((nothrow));
13628
13629// Insert row into pointer index. Return final membership status.
13630// func:amc.FNs.c_globfld.InsertMaybe
13631bool c_globfld_InsertMaybe(amc::FNs& ns, amc::FField& row) __attribute__((nothrow));
13632// Remove element from index. If element is not in index, do nothing.
13633// func:amc.FNs.c_globfld.Remove
13634void c_globfld_Remove(amc::FNs& ns, amc::FField& row) __attribute__((nothrow));
13635
13636// Return true if index is empty
13637// func:amc.FNs.c_gstatic.EmptyQ
13638bool c_gstatic_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13639// Look up row by row id. Return NULL if out of range
13640// func:amc.FNs.c_gstatic.Find
13641amc::FGstatic* c_gstatic_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13642// Return array of pointers
13643// func:amc.FNs.c_gstatic.Getary
13644algo::aryptr<amc::FGstatic*> c_gstatic_Getary(amc::FNs& ns) __attribute__((nothrow));
13645// Insert pointer to row into array. Row must not already be in array.
13646// If pointer is already in the array, it may be inserted twice.
13647// func:amc.FNs.c_gstatic.Insert
13648void c_gstatic_Insert(amc::FNs& ns, amc::FGstatic& row) __attribute__((nothrow));
13649// Insert pointer to row in array.
13650// If row is already in the array, do nothing.
13651// Return value: whether element was inserted into array.
13652// func:amc.FNs.c_gstatic.InsertMaybe
13653bool c_gstatic_InsertMaybe(amc::FNs& ns, amc::FGstatic& row) __attribute__((nothrow));
13654// Return number of items in the pointer array
13655// func:amc.FNs.c_gstatic.N
13656i32 c_gstatic_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13657// Find element using linear scan. If element is in array, remove, otherwise do nothing
13658// func:amc.FNs.c_gstatic.Remove
13659void c_gstatic_Remove(amc::FNs& ns, amc::FGstatic& row) __attribute__((nothrow));
13660// Empty the index. (The rows are not deleted)
13661// func:amc.FNs.c_gstatic.RemoveAll
13662void c_gstatic_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13663// Reserve space in index for N more elements;
13664// func:amc.FNs.c_gstatic.Reserve
13665void c_gstatic_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13666// Return reference without bounds checking
13667// func:amc.FNs.c_gstatic.qFind
13668amc::FGstatic& c_gstatic_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13669// True if row is in any ptrary instance
13670// func:amc.FNs.c_gstatic.InAryQ
13671bool ns_c_gstatic_InAryQ(amc::FGstatic& row) __attribute__((nothrow));
13672// Reference to last element without bounds checking
13673// func:amc.FNs.c_gstatic.qLast
13674amc::FGstatic& c_gstatic_qLast(amc::FNs& ns) __attribute__((nothrow));
13675
13676// Insert row into pointer index. Return final membership status.
13677// func:amc.FNs.c_main.InsertMaybe
13678bool c_main_InsertMaybe(amc::FNs& ns, amc::FMain& row) __attribute__((nothrow));
13679// Remove element from index. If element is not in index, do nothing.
13680// func:amc.FNs.c_main.Remove
13681void c_main_Remove(amc::FNs& ns, amc::FMain& row) __attribute__((nothrow));
13682
13683// Reserve space (this may move memory). Insert N element at the end.
13684// Return aryptr to newly inserted block.
13685// If the RHS argument aliases the array (refers to the same memory), exit program with fatal error.
13686// func:amc.FNs.include.Addary
13687algo::aryptr<algo::cstring> include_Addary(amc::FNs& ns, algo::aryptr<algo::cstring> rhs) __attribute__((nothrow));
13688// Reserve space. Insert element at the end
13689// The new element is initialized to a default value
13690// func:amc.FNs.include.Alloc
13691algo::cstring& include_Alloc(amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow));
13692// Reserve space for new element, reallocating the array if necessary
13693// Insert new element at specified index. Index must be in range or a fatal error occurs.
13694// func:amc.FNs.include.AllocAt
13695algo::cstring& include_AllocAt(amc::FNs& ns, int at) __attribute__((__warn_unused_result__, nothrow));
13696// Reserve space. Insert N elements at the end of the array, return pointer to array
13697// func:amc.FNs.include.AllocN
13698algo::aryptr<algo::cstring> include_AllocN(amc::FNs& ns, int n_elems) __attribute__((__warn_unused_result__, nothrow));
13699// Return true if index is empty
13700// func:amc.FNs.include.EmptyQ
13701bool include_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13702// Look up row by row id. Return NULL if out of range
13703// func:amc.FNs.include.Find
13704algo::cstring* include_Find(amc::FNs& ns, u64 t) __attribute__((__warn_unused_result__, nothrow));
13705// Return array pointer by value
13706// func:amc.FNs.include.Getary
13707algo::aryptr<algo::cstring> include_Getary(const amc::FNs& ns) __attribute__((nothrow));
13708// Return pointer to last element of array, or NULL if array is empty
13709// func:amc.FNs.include.Last
13710algo::cstring* include_Last(amc::FNs& ns) __attribute__((nothrow, pure));
13711// Return max. number of items in the array
13712// func:amc.FNs.include.Max
13713i32 include_Max(amc::FNs& ns) __attribute__((nothrow));
13714// Return number of items in the array
13715// func:amc.FNs.include.N
13716i32 include_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13717// Remove item by index. If index outside of range, do nothing.
13718// func:amc.FNs.include.Remove
13719void include_Remove(amc::FNs& ns, u32 i) __attribute__((nothrow));
13720// func:amc.FNs.include.RemoveAll
13721void include_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13722// Delete last element of array. Do nothing if array is empty.
13723// func:amc.FNs.include.RemoveLast
13724void include_RemoveLast(amc::FNs& ns) __attribute__((nothrow));
13725// Make sure N *more* elements will fit in array. Process dies if out of memory
13726// func:amc.FNs.include.Reserve
13727void include_Reserve(amc::FNs& ns, int n) __attribute__((nothrow));
13728// Make sure N elements fit in array. Process dies if out of memory
13729// func:amc.FNs.include.AbsReserve
13730void include_AbsReserve(amc::FNs& ns, int n) __attribute__((nothrow));
13731// Copy contents of RHS to PARENT.
13732// func:amc.FNs.include.Setary
13733void include_Setary(amc::FNs& ns, amc::FNs &rhs) __attribute__((nothrow));
13734// Copy specified array into include, discarding previous contents.
13735// If the RHS argument aliases the array (refers to the same memory), throw exception.
13736// func:amc.FNs.include.Setary2
13737void include_Setary(amc::FNs& ns, const algo::aryptr<algo::cstring> &rhs) __attribute__((nothrow));
13738// 'quick' Access row by row id. No bounds checking.
13739// func:amc.FNs.include.qFind
13740algo::cstring& include_qFind(amc::FNs& ns, u64 t) __attribute__((nothrow));
13741// Return reference to last element of array. No bounds checking
13742// func:amc.FNs.include.qLast
13743algo::cstring& include_qLast(amc::FNs& ns) __attribute__((nothrow));
13744// Return row id of specified element
13745// func:amc.FNs.include.rowid_Get
13746u64 include_rowid_Get(amc::FNs& ns, algo::cstring &elem) __attribute__((nothrow));
13747// Reserve space. Insert N elements at the end of the array, return pointer to array
13748// func:amc.FNs.include.AllocNVal
13749algo::aryptr<algo::cstring> include_AllocNVal(amc::FNs& ns, int n_elems, const algo::cstring& val) __attribute__((nothrow));
13750// A single element is read from input string and appended to the array.
13751// If the string contains an error, the array is untouched.
13752// Function returns success value.
13753// func:amc.FNs.include.ReadStrptrMaybe
13754bool include_ReadStrptrMaybe(amc::FNs& ns, algo::strptr in_str) __attribute__((nothrow));
13755
13756// Return true if index is empty
13757// func:amc.FNs.c_dispsig.EmptyQ
13758bool c_dispsig_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13759// Look up row by row id. Return NULL if out of range
13760// func:amc.FNs.c_dispsig.Find
13761amc::FDispsig* c_dispsig_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13762// Return array of pointers
13763// func:amc.FNs.c_dispsig.Getary
13764algo::aryptr<amc::FDispsig*> c_dispsig_Getary(amc::FNs& ns) __attribute__((nothrow));
13765// Insert pointer to row into array. Row must not already be in array.
13766// If pointer is already in the array, it may be inserted twice.
13767// func:amc.FNs.c_dispsig.Insert
13768void c_dispsig_Insert(amc::FNs& ns, amc::FDispsig& row) __attribute__((nothrow));
13769// Insert pointer to row in array.
13770// If row is already in the array, do nothing.
13771// Return value: whether element was inserted into array.
13772// func:amc.FNs.c_dispsig.InsertMaybe
13773bool c_dispsig_InsertMaybe(amc::FNs& ns, amc::FDispsig& row) __attribute__((nothrow));
13774// Return number of items in the pointer array
13775// func:amc.FNs.c_dispsig.N
13776i32 c_dispsig_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13777// Find element using linear scan. If element is in array, remove, otherwise do nothing
13778// func:amc.FNs.c_dispsig.Remove
13779void c_dispsig_Remove(amc::FNs& ns, amc::FDispsig& row) __attribute__((nothrow));
13780// Empty the index. (The rows are not deleted)
13781// func:amc.FNs.c_dispsig.RemoveAll
13782void c_dispsig_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13783// Reserve space in index for N more elements;
13784// func:amc.FNs.c_dispsig.Reserve
13785void c_dispsig_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13786// Return reference without bounds checking
13787// func:amc.FNs.c_dispsig.qFind
13788amc::FDispsig& c_dispsig_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13789// True if row is in any ptrary instance
13790// func:amc.FNs.c_dispsig.InAryQ
13791bool ns_c_dispsig_InAryQ(amc::FDispsig& row) __attribute__((nothrow));
13792// Reference to last element without bounds checking
13793// func:amc.FNs.c_dispsig.qLast
13794amc::FDispsig& c_dispsig_qLast(amc::FNs& ns) __attribute__((nothrow));
13795
13796// Return true if index is empty
13797// func:amc.FNs.c_parentns.EmptyQ
13798bool c_parentns_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13799// Look up row by row id. Return NULL if out of range
13800// func:amc.FNs.c_parentns.Find
13801amc::FNs* c_parentns_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13802// Return array of pointers
13803// func:amc.FNs.c_parentns.Getary
13804algo::aryptr<amc::FNs*> c_parentns_Getary(amc::FNs& ns) __attribute__((nothrow));
13805// Insert pointer to row into array. Row must not already be in array.
13806// If pointer is already in the array, it may be inserted twice.
13807// func:amc.FNs.c_parentns.Insert
13808void c_parentns_Insert(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13809// Insert pointer to row in array.
13810// If row is already in the array, do nothing.
13811// Linear search is used to locate the element.
13812// Return value: whether element was inserted into array.
13813// func:amc.FNs.c_parentns.ScanInsertMaybe
13814bool c_parentns_ScanInsertMaybe(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13815// Return number of items in the pointer array
13816// func:amc.FNs.c_parentns.N
13817i32 c_parentns_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13818// Find element using linear scan. If element is in array, remove, otherwise do nothing
13819// func:amc.FNs.c_parentns.Remove
13820void c_parentns_Remove(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13821// Empty the index. (The rows are not deleted)
13822// func:amc.FNs.c_parentns.RemoveAll
13823void c_parentns_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13824// Reserve space in index for N more elements;
13825// func:amc.FNs.c_parentns.Reserve
13826void c_parentns_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13827// Return reference without bounds checking
13828// func:amc.FNs.c_parentns.qFind
13829amc::FNs& c_parentns_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13830// Reference to last element without bounds checking
13831// func:amc.FNs.c_parentns.qLast
13832amc::FNs& c_parentns_qLast(amc::FNs& ns) __attribute__((nothrow));
13833
13834// Return true if index is empty
13835// func:amc.FNs.c_cppincl.EmptyQ
13836bool c_cppincl_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13837// Look up row by row id. Return NULL if out of range
13838// func:amc.FNs.c_cppincl.Find
13839amc::FNs* c_cppincl_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13840// Return array of pointers
13841// func:amc.FNs.c_cppincl.Getary
13842algo::aryptr<amc::FNs*> c_cppincl_Getary(amc::FNs& ns) __attribute__((nothrow));
13843// Insert pointer to row into array. Row must not already be in array.
13844// If pointer is already in the array, it may be inserted twice.
13845// func:amc.FNs.c_cppincl.Insert
13846void c_cppincl_Insert(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13847// Insert pointer to row in array.
13848// If row is already in the array, do nothing.
13849// Linear search is used to locate the element.
13850// Return value: whether element was inserted into array.
13851// func:amc.FNs.c_cppincl.ScanInsertMaybe
13852bool c_cppincl_ScanInsertMaybe(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13853// Return number of items in the pointer array
13854// func:amc.FNs.c_cppincl.N
13855i32 c_cppincl_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13856// Find element using linear scan. If element is in array, remove, otherwise do nothing
13857// func:amc.FNs.c_cppincl.Remove
13858void c_cppincl_Remove(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13859// Empty the index. (The rows are not deleted)
13860// func:amc.FNs.c_cppincl.RemoveAll
13861void c_cppincl_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13862// Reserve space in index for N more elements;
13863// func:amc.FNs.c_cppincl.Reserve
13864void c_cppincl_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13865// Return reference without bounds checking
13866// func:amc.FNs.c_cppincl.qFind
13867amc::FNs& c_cppincl_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13868// Reference to last element without bounds checking
13869// func:amc.FNs.c_cppincl.qLast
13870amc::FNs& c_cppincl_qLast(amc::FNs& ns) __attribute__((nothrow));
13871
13872// Return true if index is empty
13873// func:amc.FNs.c_hdrincl.EmptyQ
13874bool c_hdrincl_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13875// Look up row by row id. Return NULL if out of range
13876// func:amc.FNs.c_hdrincl.Find
13877amc::FNs* c_hdrincl_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13878// Return array of pointers
13879// func:amc.FNs.c_hdrincl.Getary
13880algo::aryptr<amc::FNs*> c_hdrincl_Getary(amc::FNs& ns) __attribute__((nothrow));
13881// Insert pointer to row into array. Row must not already be in array.
13882// If pointer is already in the array, it may be inserted twice.
13883// func:amc.FNs.c_hdrincl.Insert
13884void c_hdrincl_Insert(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13885// Insert pointer to row in array.
13886// If row is already in the array, do nothing.
13887// Linear search is used to locate the element.
13888// Return value: whether element was inserted into array.
13889// func:amc.FNs.c_hdrincl.ScanInsertMaybe
13890bool c_hdrincl_ScanInsertMaybe(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13891// Return number of items in the pointer array
13892// func:amc.FNs.c_hdrincl.N
13893i32 c_hdrincl_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13894// Find element using linear scan. If element is in array, remove, otherwise do nothing
13895// func:amc.FNs.c_hdrincl.Remove
13896void c_hdrincl_Remove(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13897// Empty the index. (The rows are not deleted)
13898// func:amc.FNs.c_hdrincl.RemoveAll
13899void c_hdrincl_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13900// Reserve space in index for N more elements;
13901// func:amc.FNs.c_hdrincl.Reserve
13902void c_hdrincl_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13903// Return reference without bounds checking
13904// func:amc.FNs.c_hdrincl.qFind
13905amc::FNs& c_hdrincl_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13906// Reference to last element without bounds checking
13907// func:amc.FNs.c_hdrincl.qLast
13908amc::FNs& c_hdrincl_qLast(amc::FNs& ns) __attribute__((nothrow));
13909
13910// Return true if index is empty
13911// func:amc.FNs.c_fwddecl.EmptyQ
13912bool c_fwddecl_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13913// Look up row by row id. Return NULL if out of range
13914// func:amc.FNs.c_fwddecl.Find
13915amc::FFwddecl* c_fwddecl_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13916// Return array of pointers
13917// func:amc.FNs.c_fwddecl.Getary
13918algo::aryptr<amc::FFwddecl*> c_fwddecl_Getary(amc::FNs& ns) __attribute__((nothrow));
13919// Insert pointer to row into array. Row must not already be in array.
13920// If pointer is already in the array, it may be inserted twice.
13921// func:amc.FNs.c_fwddecl.Insert
13922void c_fwddecl_Insert(amc::FNs& ns, amc::FFwddecl& row) __attribute__((nothrow));
13923// Insert pointer to row in array.
13924// If row is already in the array, do nothing.
13925// Return value: whether element was inserted into array.
13926// func:amc.FNs.c_fwddecl.InsertMaybe
13927bool c_fwddecl_InsertMaybe(amc::FNs& ns, amc::FFwddecl& row) __attribute__((nothrow));
13928// Return number of items in the pointer array
13929// func:amc.FNs.c_fwddecl.N
13930i32 c_fwddecl_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13931// Find element using linear scan. If element is in array, remove, otherwise do nothing
13932// func:amc.FNs.c_fwddecl.Remove
13933void c_fwddecl_Remove(amc::FNs& ns, amc::FFwddecl& row) __attribute__((nothrow));
13934// Empty the index. (The rows are not deleted)
13935// func:amc.FNs.c_fwddecl.RemoveAll
13936void c_fwddecl_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13937// Reserve space in index for N more elements;
13938// func:amc.FNs.c_fwddecl.Reserve
13939void c_fwddecl_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13940// Return reference without bounds checking
13941// func:amc.FNs.c_fwddecl.qFind
13942amc::FFwddecl& c_fwddecl_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13943// True if row is in any ptrary instance
13944// func:amc.FNs.c_fwddecl.InAryQ
13945bool ns_c_fwddecl_InAryQ(amc::FFwddecl& row) __attribute__((nothrow));
13946// Reference to last element without bounds checking
13947// func:amc.FNs.c_fwddecl.qLast
13948amc::FFwddecl& c_fwddecl_qLast(amc::FNs& ns) __attribute__((nothrow));
13949
13950// Insert row into pointer index. Return final membership status.
13951// func:amc.FNs.c_nsx.InsertMaybe
13952bool c_nsx_InsertMaybe(amc::FNs& ns, amc::FNsx& row) __attribute__((nothrow));
13953// Remove element from index. If element is not in index, do nothing.
13954// func:amc.FNs.c_nsx.Remove
13955void c_nsx_Remove(amc::FNs& ns, amc::FNsx& row) __attribute__((nothrow));
13956
13957// Insert row into pointer index. Return final membership status.
13958// func:amc.FNs.c_target.InsertMaybe
13959bool c_target_InsertMaybe(amc::FNs& ns, amc::FTarget& row) __attribute__((nothrow));
13960// Remove element from index. If element is not in index, do nothing.
13961// func:amc.FNs.c_target.Remove
13962void c_target_Remove(amc::FNs& ns, amc::FTarget& row) __attribute__((nothrow));
13963
13964// Return true if index is empty
13965// func:amc.FNs.c_pnew.EmptyQ
13966bool c_pnew_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13967// Look up row by row id. Return NULL if out of range
13968// func:amc.FNs.c_pnew.Find
13969amc::FPnew* c_pnew_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13970// Return array of pointers
13971// func:amc.FNs.c_pnew.Getary
13972algo::aryptr<amc::FPnew*> c_pnew_Getary(amc::FNs& ns) __attribute__((nothrow));
13973// Insert pointer to row into array. Row must not already be in array.
13974// If pointer is already in the array, it may be inserted twice.
13975// func:amc.FNs.c_pnew.Insert
13976void c_pnew_Insert(amc::FNs& ns, amc::FPnew& row) __attribute__((nothrow));
13977// Insert pointer to row in array.
13978// If row is already in the array, do nothing.
13979// Return value: whether element was inserted into array.
13980// func:amc.FNs.c_pnew.InsertMaybe
13981bool c_pnew_InsertMaybe(amc::FNs& ns, amc::FPnew& row) __attribute__((nothrow));
13982// Return number of items in the pointer array
13983// func:amc.FNs.c_pnew.N
13984i32 c_pnew_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13985// Find element using linear scan. If element is in array, remove, otherwise do nothing
13986// func:amc.FNs.c_pnew.Remove
13987void c_pnew_Remove(amc::FNs& ns, amc::FPnew& row) __attribute__((nothrow));
13988// Empty the index. (The rows are not deleted)
13989// func:amc.FNs.c_pnew.RemoveAll
13990void c_pnew_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13991// Reserve space in index for N more elements;
13992// func:amc.FNs.c_pnew.Reserve
13993void c_pnew_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13994// Return reference without bounds checking
13995// func:amc.FNs.c_pnew.qFind
13996amc::FPnew& c_pnew_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13997// True if row is in any ptrary instance
13998// func:amc.FNs.c_pnew.InAryQ
13999bool ns_c_pnew_InAryQ(amc::FPnew& row) __attribute__((nothrow));
14000// Reference to last element without bounds checking
14001// func:amc.FNs.c_pnew.qLast
14002amc::FPnew& c_pnew_qLast(amc::FNs& ns) __attribute__((nothrow));
14003
14004// Insert row into pointer index. Return final membership status.
14005// func:amc.FNs.c_fcmdline.InsertMaybe
14006bool c_fcmdline_InsertMaybe(amc::FNs& ns, amc::FFcmdline& row) __attribute__((nothrow));
14007// Remove element from index. If element is not in index, do nothing.
14008// func:amc.FNs.c_fcmdline.Remove
14009void c_fcmdline_Remove(amc::FNs& ns, amc::FFcmdline& row) __attribute__((nothrow));
14010
14011// Insert row into pointer index. Return final membership status.
14012// func:amc.FNs.c_nsproto.InsertMaybe
14013bool c_nsproto_InsertMaybe(amc::FNs& ns, amc::FNsproto& row) __attribute__((nothrow));
14014// Remove element from index. If element is not in index, do nothing.
14015// func:amc.FNs.c_nsproto.Remove
14016void c_nsproto_Remove(amc::FNs& ns, amc::FNsproto& row) __attribute__((nothrow));
14017
14018// Insert row into pointer index. Return final membership status.
14019// func:amc.FNs.c_nsdb.InsertMaybe
14020bool c_nsdb_InsertMaybe(amc::FNs& ns, amc::FNsdb& row) __attribute__((nothrow));
14021// Remove element from index. If element is not in index, do nothing.
14022// func:amc.FNs.c_nsdb.Remove
14023void c_nsdb_Remove(amc::FNs& ns, amc::FNsdb& row) __attribute__((nothrow));
14024
14025// Delete all elements pointed to by the index.
14026// func:amc.FNs.c_outfile.Cascdel
14027void c_outfile_Cascdel(amc::FNs& ns) __attribute__((nothrow));
14028// Return true if index is empty
14029// func:amc.FNs.c_outfile.EmptyQ
14030bool c_outfile_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
14031// Look up row by row id. Return NULL if out of range
14032// func:amc.FNs.c_outfile.Find
14033amc::FOutfile* c_outfile_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
14034// Return array of pointers
14035// func:amc.FNs.c_outfile.Getary
14036algo::aryptr<amc::FOutfile*> c_outfile_Getary(amc::FNs& ns) __attribute__((nothrow));
14037// Insert pointer to row into array. Row must not already be in array.
14038// If pointer is already in the array, it may be inserted twice.
14039// func:amc.FNs.c_outfile.Insert
14040void c_outfile_Insert(amc::FNs& ns, amc::FOutfile& row) __attribute__((nothrow));
14041// Insert pointer to row in array.
14042// If row is already in the array, do nothing.
14043// Return value: whether element was inserted into array.
14044// func:amc.FNs.c_outfile.InsertMaybe
14045bool c_outfile_InsertMaybe(amc::FNs& ns, amc::FOutfile& row) __attribute__((nothrow));
14046// Return number of items in the pointer array
14047// func:amc.FNs.c_outfile.N
14048i32 c_outfile_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
14049// Find element using linear scan. If element is in array, remove, otherwise do nothing
14050// func:amc.FNs.c_outfile.Remove
14051void c_outfile_Remove(amc::FNs& ns, amc::FOutfile& row) __attribute__((nothrow));
14052// Empty the index. (The rows are not deleted)
14053// func:amc.FNs.c_outfile.RemoveAll
14054void c_outfile_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
14055// Reserve space in index for N more elements;
14056// func:amc.FNs.c_outfile.Reserve
14057void c_outfile_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
14058// Return reference without bounds checking
14059// func:amc.FNs.c_outfile.qFind
14060amc::FOutfile& c_outfile_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
14061// True if row is in any ptrary instance
14062// func:amc.FNs.c_outfile.InAryQ
14063bool ns_c_outfile_InAryQ(amc::FOutfile& row) __attribute__((nothrow));
14064// Reference to last element without bounds checking
14065// func:amc.FNs.c_outfile.qLast
14066amc::FOutfile& c_outfile_qLast(amc::FNs& ns) __attribute__((nothrow));
14067
14068// Return true if index is empty
14069// func:amc.FNs.c_foutput.EmptyQ
14070bool c_foutput_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
14071// Look up row by row id. Return NULL if out of range
14072// func:amc.FNs.c_foutput.Find
14073amc::FFoutput* c_foutput_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
14074// Return array of pointers
14075// func:amc.FNs.c_foutput.Getary
14076algo::aryptr<amc::FFoutput*> c_foutput_Getary(amc::FNs& ns) __attribute__((nothrow));
14077// Insert pointer to row into array. Row must not already be in array.
14078// If pointer is already in the array, it may be inserted twice.
14079// func:amc.FNs.c_foutput.Insert
14080void c_foutput_Insert(amc::FNs& ns, amc::FFoutput& row) __attribute__((nothrow));
14081// Insert pointer to row in array.
14082// If row is already in the array, do nothing.
14083// Return value: whether element was inserted into array.
14084// func:amc.FNs.c_foutput.InsertMaybe
14085bool c_foutput_InsertMaybe(amc::FNs& ns, amc::FFoutput& row) __attribute__((nothrow));
14086// Return number of items in the pointer array
14087// func:amc.FNs.c_foutput.N
14088i32 c_foutput_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
14089// Find element using linear scan. If element is in array, remove, otherwise do nothing
14090// func:amc.FNs.c_foutput.Remove
14091void c_foutput_Remove(amc::FNs& ns, amc::FFoutput& row) __attribute__((nothrow));
14092// Empty the index. (The rows are not deleted)
14093// func:amc.FNs.c_foutput.RemoveAll
14094void c_foutput_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
14095// Reserve space in index for N more elements;
14096// func:amc.FNs.c_foutput.Reserve
14097void c_foutput_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
14098// Return reference without bounds checking
14099// func:amc.FNs.c_foutput.qFind
14100amc::FFoutput& c_foutput_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
14101// True if row is in any ptrary instance
14102// func:amc.FNs.c_foutput.InAryQ
14103bool ns_c_foutput_InAryQ(amc::FFoutput& row) __attribute__((nothrow));
14104// Reference to last element without bounds checking
14105// func:amc.FNs.c_foutput.qLast
14106amc::FFoutput& c_foutput_qLast(amc::FNs& ns) __attribute__((nothrow));
14107
14108// Return true if index is empty
14109// func:amc.FNs.c_fstep.EmptyQ
14110bool c_fstep_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
14111// Look up row by row id. Return NULL if out of range
14112// func:amc.FNs.c_fstep.Find
14113amc::FFstep* c_fstep_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
14114// Return array of pointers
14115// func:amc.FNs.c_fstep.Getary
14116algo::aryptr<amc::FFstep*> c_fstep_Getary(amc::FNs& ns) __attribute__((nothrow));
14117// Insert pointer to row into array. Row must not already be in array.
14118// If pointer is already in the array, it may be inserted twice.
14119// func:amc.FNs.c_fstep.Insert
14120void c_fstep_Insert(amc::FNs& ns, amc::FFstep& row) __attribute__((nothrow));
14121// Insert pointer to row in array.
14122// If row is already in the array, do nothing.
14123// Return value: whether element was inserted into array.
14124// func:amc.FNs.c_fstep.InsertMaybe
14125bool c_fstep_InsertMaybe(amc::FNs& ns, amc::FFstep& row) __attribute__((nothrow));
14126// Return number of items in the pointer array
14127// func:amc.FNs.c_fstep.N
14128i32 c_fstep_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
14129// Find element using linear scan. If element is in array, remove, otherwise do nothing
14130// func:amc.FNs.c_fstep.Remove
14131void c_fstep_Remove(amc::FNs& ns, amc::FFstep& row) __attribute__((nothrow));
14132// Empty the index. (The rows are not deleted)
14133// func:amc.FNs.c_fstep.RemoveAll
14134void c_fstep_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
14135// Reserve space in index for N more elements;
14136// func:amc.FNs.c_fstep.Reserve
14137void c_fstep_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
14138// Return reference without bounds checking
14139// func:amc.FNs.c_fstep.qFind
14140amc::FFstep& c_fstep_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
14141// True if row is in any ptrary instance
14142// func:amc.FNs.c_fstep.InAryQ
14143bool ns_c_fstep_InAryQ(amc::FFstep& row) __attribute__((nothrow));
14144// Reference to last element without bounds checking
14145// func:amc.FNs.c_fstep.qLast
14146amc::FFstep& c_fstep_qLast(amc::FNs& ns) __attribute__((nothrow));
14147
14148// Return true if index is empty
14149// func:amc.FNs.c_gsymbol.EmptyQ
14150bool c_gsymbol_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
14151// Look up row by row id. Return NULL if out of range
14152// func:amc.FNs.c_gsymbol.Find
14153amc::FGsymbol* c_gsymbol_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
14154// Return array of pointers
14155// func:amc.FNs.c_gsymbol.Getary
14156algo::aryptr<amc::FGsymbol*> c_gsymbol_Getary(amc::FNs& ns) __attribute__((nothrow));
14157// Insert pointer to row into array. Row must not already be in array.
14158// If pointer is already in the array, it may be inserted twice.
14159// func:amc.FNs.c_gsymbol.Insert
14160void c_gsymbol_Insert(amc::FNs& ns, amc::FGsymbol& row) __attribute__((nothrow));
14161// Insert pointer to row in array.
14162// If row is already in the array, do nothing.
14163// Return value: whether element was inserted into array.
14164// func:amc.FNs.c_gsymbol.InsertMaybe
14165bool c_gsymbol_InsertMaybe(amc::FNs& ns, amc::FGsymbol& row) __attribute__((nothrow));
14166// Return number of items in the pointer array
14167// func:amc.FNs.c_gsymbol.N
14168i32 c_gsymbol_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
14169// Find element using linear scan. If element is in array, remove, otherwise do nothing
14170// func:amc.FNs.c_gsymbol.Remove
14171void c_gsymbol_Remove(amc::FNs& ns, amc::FGsymbol& row) __attribute__((nothrow));
14172// Empty the index. (The rows are not deleted)
14173// func:amc.FNs.c_gsymbol.RemoveAll
14174void c_gsymbol_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
14175// Reserve space in index for N more elements;
14176// func:amc.FNs.c_gsymbol.Reserve
14177void c_gsymbol_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
14178// Return reference without bounds checking
14179// func:amc.FNs.c_gsymbol.qFind
14180amc::FGsymbol& c_gsymbol_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
14181// True if row is in any ptrary instance
14182// func:amc.FNs.c_gsymbol.InAryQ
14183bool ns_c_gsymbol_InAryQ(amc::FGsymbol& row) __attribute__((nothrow));
14184// Reference to last element without bounds checking
14185// func:amc.FNs.c_gsymbol.qLast
14186amc::FGsymbol& c_gsymbol_qLast(amc::FNs& ns) __attribute__((nothrow));
14187
14188// Return true if index is empty
14189// func:amc.FNs.c_nsinclude.EmptyQ
14190bool c_nsinclude_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
14191// Look up row by row id. Return NULL if out of range
14192// func:amc.FNs.c_nsinclude.Find
14193amc::FNsinclude* c_nsinclude_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
14194// Return array of pointers
14195// func:amc.FNs.c_nsinclude.Getary
14196algo::aryptr<amc::FNsinclude*> c_nsinclude_Getary(amc::FNs& ns) __attribute__((nothrow));
14197// Insert pointer to row into array. Row must not already be in array.
14198// If pointer is already in the array, it may be inserted twice.
14199// func:amc.FNs.c_nsinclude.Insert
14200void c_nsinclude_Insert(amc::FNs& ns, amc::FNsinclude& row) __attribute__((nothrow));
14201// Insert pointer to row in array.
14202// If row is already in the array, do nothing.
14203// Return value: whether element was inserted into array.
14204// func:amc.FNs.c_nsinclude.InsertMaybe
14205bool c_nsinclude_InsertMaybe(amc::FNs& ns, amc::FNsinclude& row) __attribute__((nothrow));
14206// Return number of items in the pointer array
14207// func:amc.FNs.c_nsinclude.N
14208i32 c_nsinclude_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
14209// Find element using linear scan. If element is in array, remove, otherwise do nothing
14210// func:amc.FNs.c_nsinclude.Remove
14211void c_nsinclude_Remove(amc::FNs& ns, amc::FNsinclude& row) __attribute__((nothrow));
14212// Empty the index. (The rows are not deleted)
14213// func:amc.FNs.c_nsinclude.RemoveAll
14214void c_nsinclude_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
14215// Reserve space in index for N more elements;
14216// func:amc.FNs.c_nsinclude.Reserve
14217void c_nsinclude_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
14218// Return reference without bounds checking
14219// func:amc.FNs.c_nsinclude.qFind
14220amc::FNsinclude& c_nsinclude_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
14221// True if row is in any ptrary instance
14222// func:amc.FNs.c_nsinclude.InAryQ
14223bool ns_c_nsinclude_InAryQ(amc::FNsinclude& row) __attribute__((nothrow));
14224// Reference to last element without bounds checking
14225// func:amc.FNs.c_nsinclude.qLast
14226amc::FNsinclude& c_nsinclude_qLast(amc::FNs& ns) __attribute__((nothrow));
14227
14228// Insert row into pointer index. Return final membership status.
14229// func:amc.FNs.c_nscpp.InsertMaybe
14230bool c_nscpp_InsertMaybe(amc::FNs& ns, amc::FNscpp& row) __attribute__((nothrow));
14231// Remove element from index. If element is not in index, do nothing.
14232// func:amc.FNs.c_nscpp.Remove
14233void c_nscpp_Remove(amc::FNs& ns, amc::FNscpp& row) __attribute__((nothrow));
14234
14235// Set all fields to initial values.
14236// func:amc.FNs..Init
14237void FNs_Init(amc::FNs& ns);
14238// func:amc.FNs.c_ctype_curs.Reset
14239void ns_c_ctype_curs_Reset(ns_c_ctype_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14240// cursor points to valid item
14241// func:amc.FNs.c_ctype_curs.ValidQ
14242bool ns_c_ctype_curs_ValidQ(ns_c_ctype_curs &curs) __attribute__((nothrow));
14243// proceed to next item
14244// func:amc.FNs.c_ctype_curs.Next
14245void ns_c_ctype_curs_Next(ns_c_ctype_curs &curs) __attribute__((nothrow));
14246// item access
14247// func:amc.FNs.c_ctype_curs.Access
14248amc::FCtype& ns_c_ctype_curs_Access(ns_c_ctype_curs &curs) __attribute__((nothrow));
14249// func:amc.FNs.c_func_curs.Reset
14250void ns_c_func_curs_Reset(ns_c_func_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14251// cursor points to valid item
14252// func:amc.FNs.c_func_curs.ValidQ
14253bool ns_c_func_curs_ValidQ(ns_c_func_curs &curs) __attribute__((nothrow));
14254// proceed to next item
14255// func:amc.FNs.c_func_curs.Next
14256void ns_c_func_curs_Next(ns_c_func_curs &curs) __attribute__((nothrow));
14257// item access
14258// func:amc.FNs.c_func_curs.Access
14259amc::FFunc& ns_c_func_curs_Access(ns_c_func_curs &curs) __attribute__((nothrow));
14260// func:amc.FNs.c_dispatch_curs.Reset
14261void ns_c_dispatch_curs_Reset(ns_c_dispatch_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14262// cursor points to valid item
14263// func:amc.FNs.c_dispatch_curs.ValidQ
14264bool ns_c_dispatch_curs_ValidQ(ns_c_dispatch_curs &curs) __attribute__((nothrow));
14265// proceed to next item
14266// func:amc.FNs.c_dispatch_curs.Next
14267void ns_c_dispatch_curs_Next(ns_c_dispatch_curs &curs) __attribute__((nothrow));
14268// item access
14269// func:amc.FNs.c_dispatch_curs.Access
14270amc::FDispatch& ns_c_dispatch_curs_Access(ns_c_dispatch_curs &curs) __attribute__((nothrow));
14271// func:amc.FNs.c_gstatic_curs.Reset
14272void ns_c_gstatic_curs_Reset(ns_c_gstatic_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14273// cursor points to valid item
14274// func:amc.FNs.c_gstatic_curs.ValidQ
14275bool ns_c_gstatic_curs_ValidQ(ns_c_gstatic_curs &curs) __attribute__((nothrow));
14276// proceed to next item
14277// func:amc.FNs.c_gstatic_curs.Next
14278void ns_c_gstatic_curs_Next(ns_c_gstatic_curs &curs) __attribute__((nothrow));
14279// item access
14280// func:amc.FNs.c_gstatic_curs.Access
14281amc::FGstatic& ns_c_gstatic_curs_Access(ns_c_gstatic_curs &curs) __attribute__((nothrow));
14282// proceed to next item
14283// func:amc.FNs.include_curs.Next
14284void ns_include_curs_Next(ns_include_curs &curs) __attribute__((nothrow));
14285// func:amc.FNs.include_curs.Reset
14286void ns_include_curs_Reset(ns_include_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14287// cursor points to valid item
14288// func:amc.FNs.include_curs.ValidQ
14289bool ns_include_curs_ValidQ(ns_include_curs &curs) __attribute__((nothrow));
14290// item access
14291// func:amc.FNs.include_curs.Access
14292algo::cstring& ns_include_curs_Access(ns_include_curs &curs) __attribute__((nothrow));
14293// func:amc.FNs.c_dispsig_curs.Reset
14294void ns_c_dispsig_curs_Reset(ns_c_dispsig_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14295// cursor points to valid item
14296// func:amc.FNs.c_dispsig_curs.ValidQ
14297bool ns_c_dispsig_curs_ValidQ(ns_c_dispsig_curs &curs) __attribute__((nothrow));
14298// proceed to next item
14299// func:amc.FNs.c_dispsig_curs.Next
14300void ns_c_dispsig_curs_Next(ns_c_dispsig_curs &curs) __attribute__((nothrow));
14301// item access
14302// func:amc.FNs.c_dispsig_curs.Access
14303amc::FDispsig& ns_c_dispsig_curs_Access(ns_c_dispsig_curs &curs) __attribute__((nothrow));
14304// func:amc.FNs.c_parentns_curs.Reset
14305void ns_c_parentns_curs_Reset(ns_c_parentns_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14306// cursor points to valid item
14307// func:amc.FNs.c_parentns_curs.ValidQ
14308bool ns_c_parentns_curs_ValidQ(ns_c_parentns_curs &curs) __attribute__((nothrow));
14309// proceed to next item
14310// func:amc.FNs.c_parentns_curs.Next
14311void ns_c_parentns_curs_Next(ns_c_parentns_curs &curs) __attribute__((nothrow));
14312// item access
14313// func:amc.FNs.c_parentns_curs.Access
14314amc::FNs& ns_c_parentns_curs_Access(ns_c_parentns_curs &curs) __attribute__((nothrow));
14315// func:amc.FNs.c_cppincl_curs.Reset
14316void ns_c_cppincl_curs_Reset(ns_c_cppincl_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14317// cursor points to valid item
14318// func:amc.FNs.c_cppincl_curs.ValidQ
14319bool ns_c_cppincl_curs_ValidQ(ns_c_cppincl_curs &curs) __attribute__((nothrow));
14320// proceed to next item
14321// func:amc.FNs.c_cppincl_curs.Next
14322void ns_c_cppincl_curs_Next(ns_c_cppincl_curs &curs) __attribute__((nothrow));
14323// item access
14324// func:amc.FNs.c_cppincl_curs.Access
14325amc::FNs& ns_c_cppincl_curs_Access(ns_c_cppincl_curs &curs) __attribute__((nothrow));
14326// func:amc.FNs.c_hdrincl_curs.Reset
14327void ns_c_hdrincl_curs_Reset(ns_c_hdrincl_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14328// cursor points to valid item
14329// func:amc.FNs.c_hdrincl_curs.ValidQ
14330bool ns_c_hdrincl_curs_ValidQ(ns_c_hdrincl_curs &curs) __attribute__((nothrow));
14331// proceed to next item
14332// func:amc.FNs.c_hdrincl_curs.Next
14333void ns_c_hdrincl_curs_Next(ns_c_hdrincl_curs &curs) __attribute__((nothrow));
14334// item access
14335// func:amc.FNs.c_hdrincl_curs.Access
14336amc::FNs& ns_c_hdrincl_curs_Access(ns_c_hdrincl_curs &curs) __attribute__((nothrow));
14337// func:amc.FNs.c_fwddecl_curs.Reset
14338void ns_c_fwddecl_curs_Reset(ns_c_fwddecl_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14339// cursor points to valid item
14340// func:amc.FNs.c_fwddecl_curs.ValidQ
14341bool ns_c_fwddecl_curs_ValidQ(ns_c_fwddecl_curs &curs) __attribute__((nothrow));
14342// proceed to next item
14343// func:amc.FNs.c_fwddecl_curs.Next
14344void ns_c_fwddecl_curs_Next(ns_c_fwddecl_curs &curs) __attribute__((nothrow));
14345// item access
14346// func:amc.FNs.c_fwddecl_curs.Access
14347amc::FFwddecl& ns_c_fwddecl_curs_Access(ns_c_fwddecl_curs &curs) __attribute__((nothrow));
14348// func:amc.FNs.c_pnew_curs.Reset
14349void ns_c_pnew_curs_Reset(ns_c_pnew_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14350// cursor points to valid item
14351// func:amc.FNs.c_pnew_curs.ValidQ
14352bool ns_c_pnew_curs_ValidQ(ns_c_pnew_curs &curs) __attribute__((nothrow));
14353// proceed to next item
14354// func:amc.FNs.c_pnew_curs.Next
14355void ns_c_pnew_curs_Next(ns_c_pnew_curs &curs) __attribute__((nothrow));
14356// item access
14357// func:amc.FNs.c_pnew_curs.Access
14358amc::FPnew& ns_c_pnew_curs_Access(ns_c_pnew_curs &curs) __attribute__((nothrow));
14359// func:amc.FNs.c_outfile_curs.Reset
14360void ns_c_outfile_curs_Reset(ns_c_outfile_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14361// cursor points to valid item
14362// func:amc.FNs.c_outfile_curs.ValidQ
14363bool ns_c_outfile_curs_ValidQ(ns_c_outfile_curs &curs) __attribute__((nothrow));
14364// proceed to next item
14365// func:amc.FNs.c_outfile_curs.Next
14366void ns_c_outfile_curs_Next(ns_c_outfile_curs &curs) __attribute__((nothrow));
14367// item access
14368// func:amc.FNs.c_outfile_curs.Access
14369amc::FOutfile& ns_c_outfile_curs_Access(ns_c_outfile_curs &curs) __attribute__((nothrow));
14370// func:amc.FNs.c_foutput_curs.Reset
14371void ns_c_foutput_curs_Reset(ns_c_foutput_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14372// cursor points to valid item
14373// func:amc.FNs.c_foutput_curs.ValidQ
14374bool ns_c_foutput_curs_ValidQ(ns_c_foutput_curs &curs) __attribute__((nothrow));
14375// proceed to next item
14376// func:amc.FNs.c_foutput_curs.Next
14377void ns_c_foutput_curs_Next(ns_c_foutput_curs &curs) __attribute__((nothrow));
14378// item access
14379// func:amc.FNs.c_foutput_curs.Access
14380amc::FFoutput& ns_c_foutput_curs_Access(ns_c_foutput_curs &curs) __attribute__((nothrow));
14381// func:amc.FNs.c_fstep_curs.Reset
14382void ns_c_fstep_curs_Reset(ns_c_fstep_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14383// cursor points to valid item
14384// func:amc.FNs.c_fstep_curs.ValidQ
14385bool ns_c_fstep_curs_ValidQ(ns_c_fstep_curs &curs) __attribute__((nothrow));
14386// proceed to next item
14387// func:amc.FNs.c_fstep_curs.Next
14388void ns_c_fstep_curs_Next(ns_c_fstep_curs &curs) __attribute__((nothrow));
14389// item access
14390// func:amc.FNs.c_fstep_curs.Access
14391amc::FFstep& ns_c_fstep_curs_Access(ns_c_fstep_curs &curs) __attribute__((nothrow));
14392// func:amc.FNs.c_gsymbol_curs.Reset
14393void ns_c_gsymbol_curs_Reset(ns_c_gsymbol_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14394// cursor points to valid item
14395// func:amc.FNs.c_gsymbol_curs.ValidQ
14396bool ns_c_gsymbol_curs_ValidQ(ns_c_gsymbol_curs &curs) __attribute__((nothrow));
14397// proceed to next item
14398// func:amc.FNs.c_gsymbol_curs.Next
14399void ns_c_gsymbol_curs_Next(ns_c_gsymbol_curs &curs) __attribute__((nothrow));
14400// item access
14401// func:amc.FNs.c_gsymbol_curs.Access
14402amc::FGsymbol& ns_c_gsymbol_curs_Access(ns_c_gsymbol_curs &curs) __attribute__((nothrow));
14403// func:amc.FNs.c_nsinclude_curs.Reset
14404void ns_c_nsinclude_curs_Reset(ns_c_nsinclude_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14405// cursor points to valid item
14406// func:amc.FNs.c_nsinclude_curs.ValidQ
14407bool ns_c_nsinclude_curs_ValidQ(ns_c_nsinclude_curs &curs) __attribute__((nothrow));
14408// proceed to next item
14409// func:amc.FNs.c_nsinclude_curs.Next
14410void ns_c_nsinclude_curs_Next(ns_c_nsinclude_curs &curs) __attribute__((nothrow));
14411// item access
14412// func:amc.FNs.c_nsinclude_curs.Access
14413amc::FNsinclude& ns_c_nsinclude_curs_Access(ns_c_nsinclude_curs &curs) __attribute__((nothrow));
14414// func:amc.FNs..Uninit
14415void FNs_Uninit(amc::FNs& ns) __attribute__((nothrow));
14416
14417// --- amc.FNscpp
14418// create: amc.FDb.nscpp (Lary)
14419// access: amc.FNs.c_nscpp (Ptr)
14420struct FNscpp { // amc.FNscpp
14421 algo::Smallstr16 ns; //
14422 algo::Comment comment; //
14423private:
14424 friend amc::FNscpp& nscpp_Alloc() __attribute__((__warn_unused_result__, nothrow));
14425 friend amc::FNscpp* nscpp_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14426 friend void nscpp_RemoveAll() __attribute__((nothrow));
14427 friend void nscpp_RemoveLast() __attribute__((nothrow));
14428 FNscpp();
14429 ~FNscpp();
14430 FNscpp(const FNscpp&){ /*disallow copy constructor */}
14431 void operator =(const FNscpp&){ /*disallow direct assignment */}
14432};
14433
14434// Copy fields out of row
14435// func:amc.FNscpp.base.CopyOut
14436void nscpp_CopyOut(amc::FNscpp &row, dmmeta::Nscpp &out) __attribute__((nothrow));
14437// Copy fields in to row
14438// func:amc.FNscpp.base.CopyIn
14439void nscpp_CopyIn(amc::FNscpp &row, dmmeta::Nscpp &in) __attribute__((nothrow));
14440
14441// func:amc.FNscpp..Uninit
14442void FNscpp_Uninit(amc::FNscpp& nscpp) __attribute__((nothrow));
14443
14444// --- amc.FNsdb
14445// create: amc.FDb.nsdb (Lary)
14446// access: amc.FNs.c_nsdb (Ptr)
14447struct FNsdb { // amc.FNsdb
14448 algo::Smallstr16 ns; //
14449 algo::Comment comment; //
14450private:
14451 friend amc::FNsdb& nsdb_Alloc() __attribute__((__warn_unused_result__, nothrow));
14452 friend amc::FNsdb* nsdb_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14453 friend void nsdb_RemoveLast() __attribute__((nothrow));
14454 FNsdb();
14455 ~FNsdb();
14456 FNsdb(const FNsdb&){ /*disallow copy constructor */}
14457 void operator =(const FNsdb&){ /*disallow direct assignment */}
14458};
14459
14460// Copy fields out of row
14461// func:amc.FNsdb.base.CopyOut
14462void nsdb_CopyOut(amc::FNsdb &row, dmmeta::Nsdb &out) __attribute__((nothrow));
14463// Copy fields in to row
14464// func:amc.FNsdb.base.CopyIn
14465void nsdb_CopyIn(amc::FNsdb &row, dmmeta::Nsdb &in) __attribute__((nothrow));
14466
14467// func:amc.FNsdb..Uninit
14468void FNsdb_Uninit(amc::FNsdb& nsdb) __attribute__((nothrow));
14469
14470// --- amc.FNsinclude
14471// create: amc.FDb.nsinclude (Lary)
14472// access: amc.FNs.c_nsinclude (Ptrary)
14473struct FNsinclude { // amc.FNsinclude
14474 algo::Smallstr50 nsinclude; //
14475 bool sys; // false
14476 algo::Comment comment; //
14477 bool ns_c_nsinclude_in_ary; // false membership flag
14478private:
14479 friend amc::FNsinclude& nsinclude_Alloc() __attribute__((__warn_unused_result__, nothrow));
14480 friend amc::FNsinclude* nsinclude_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14481 friend void nsinclude_RemoveAll() __attribute__((nothrow));
14482 friend void nsinclude_RemoveLast() __attribute__((nothrow));
14483 FNsinclude();
14484 ~FNsinclude();
14485 FNsinclude(const FNsinclude&){ /*disallow copy constructor */}
14486 void operator =(const FNsinclude&){ /*disallow direct assignment */}
14487};
14488
14489// Copy fields out of row
14490// func:amc.FNsinclude.base.CopyOut
14491void nsinclude_CopyOut(amc::FNsinclude &row, dmmeta::Nsinclude &out) __attribute__((nothrow));
14492// Copy fields in to row
14493// func:amc.FNsinclude.base.CopyIn
14494void nsinclude_CopyIn(amc::FNsinclude &row, dmmeta::Nsinclude &in) __attribute__((nothrow));
14495
14496// func:amc.FNsinclude.ns.Get
14497algo::Smallstr16 ns_Get(amc::FNsinclude& nsinclude) __attribute__((__warn_unused_result__, nothrow));
14498
14499// func:amc.FNsinclude.name.Get
14500algo::Smallstr50 name_Get(amc::FNsinclude& nsinclude) __attribute__((__warn_unused_result__, nothrow));
14501
14502// Set all fields to initial values.
14503// func:amc.FNsinclude..Init
14504void FNsinclude_Init(amc::FNsinclude& nsinclude);
14505// func:amc.FNsinclude..Uninit
14506void FNsinclude_Uninit(amc::FNsinclude& nsinclude) __attribute__((nothrow));
14507
14508// --- amc.FNsproto
14509// create: amc.FDb.nsproto (Lary)
14510// access: amc.FNs.c_nsproto (Ptr)
14511struct FNsproto { // amc.FNsproto
14512 algo::Smallstr16 ns; //
14513 algo::Comment comment; //
14514private:
14515 friend amc::FNsproto& nsproto_Alloc() __attribute__((__warn_unused_result__, nothrow));
14516 friend amc::FNsproto* nsproto_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14517 friend void nsproto_RemoveLast() __attribute__((nothrow));
14518 FNsproto();
14519 ~FNsproto();
14520 FNsproto(const FNsproto&){ /*disallow copy constructor */}
14521 void operator =(const FNsproto&){ /*disallow direct assignment */}
14522};
14523
14524// Copy fields out of row
14525// func:amc.FNsproto.base.CopyOut
14526void nsproto_CopyOut(amc::FNsproto &row, dmmeta::Nsproto &out) __attribute__((nothrow));
14527// Copy fields in to row
14528// func:amc.FNsproto.base.CopyIn
14529void nsproto_CopyIn(amc::FNsproto &row, dmmeta::Nsproto &in) __attribute__((nothrow));
14530
14531// func:amc.FNsproto..Uninit
14532void FNsproto_Uninit(amc::FNsproto& nsproto) __attribute__((nothrow));
14533
14534// --- amc.FNsx
14535// create: amc.FDb.nsx (Lary)
14536// access: amc.FNs.c_nsx (Ptr)
14537struct FNsx { // amc.FNsx
14538 algo::Smallstr16 ns; //
14539 bool genthrow; // false
14540 bool correct_getorcreate; // false
14541 algo::Smallstr100 pool; //
14542 bool sortxref; // false
14543 bool pack; // false
14544 algo::Comment comment; //
14545 amc::FField* p_pool; // reference to parent row
14546private:
14547 friend amc::FNsx& nsx_Alloc() __attribute__((__warn_unused_result__, nothrow));
14548 friend amc::FNsx* nsx_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14549 friend void nsx_RemoveLast() __attribute__((nothrow));
14550 FNsx();
14551 ~FNsx();
14552 FNsx(const FNsx&){ /*disallow copy constructor */}
14553 void operator =(const FNsx&){ /*disallow direct assignment */}
14554};
14555
14556// Copy fields out of row
14557// func:amc.FNsx.base.CopyOut
14558void nsx_CopyOut(amc::FNsx &row, dmmeta::Nsx &out) __attribute__((nothrow));
14559// Copy fields in to row
14560// func:amc.FNsx.base.CopyIn
14561void nsx_CopyIn(amc::FNsx &row, dmmeta::Nsx &in) __attribute__((nothrow));
14562
14563// Set all fields to initial values.
14564// func:amc.FNsx..Init
14565void FNsx_Init(amc::FNsx& nsx);
14566// func:amc.FNsx..Uninit
14567void FNsx_Uninit(amc::FNsx& nsx) __attribute__((nothrow));
14568
14569// --- amc.FNumstr
14570// create: amc.FDb.numstr (Lary)
14571// access: amc.FSmallstr.c_numstr (Ptr)
14572struct FNumstr { // amc.FNumstr
14573 algo::Smallstr100 field; // String type
14574 algo::Smallstr100 numtype; // Corresponding numeric type
14575 i32 base; // 0 Base for conversion
14576 i32 min_len; // 0 Mininum length of string
14577 amc::FCtype* p_numtype; // reference to parent row
14578 u64 nummin; // 0
14579 u64 nummax; // 0
14580 bool issigned; // false
14581private:
14582 friend amc::FNumstr& numstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
14583 friend amc::FNumstr* numstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14584 friend void numstr_RemoveLast() __attribute__((nothrow));
14585 FNumstr();
14586 ~FNumstr();
14587 FNumstr(const FNumstr&){ /*disallow copy constructor */}
14588 void operator =(const FNumstr&){ /*disallow direct assignment */}
14589};
14590
14591// Copy fields out of row
14592// func:amc.FNumstr.msghdr.CopyOut
14593void numstr_CopyOut(amc::FNumstr &row, dmmeta::Numstr &out) __attribute__((nothrow));
14594// Copy fields in to row
14595// func:amc.FNumstr.msghdr.CopyIn
14596void numstr_CopyIn(amc::FNumstr &row, dmmeta::Numstr &in) __attribute__((nothrow));
14597
14598// Set all fields to initial values.
14599// func:amc.FNumstr..Init
14600void FNumstr_Init(amc::FNumstr& numstr);
14601// func:amc.FNumstr..Uninit
14602void FNumstr_Uninit(amc::FNumstr& numstr) __attribute__((nothrow));
14603
14604// --- amc.FOutfile
14605// create: amc.FDb.outfile (Tpool)
14606// access: amc.FNs.c_outfile (Ptrary)
14607struct FOutfile { // amc.FOutfile: AMC's output file (generated file under include/gen or cpp/gen)
14608 amc::FOutfile* outfile_next; // Pointer to next free element int tpool
14609 algo::cstring text; //
14610 amc::FNs* p_ns; // reference to parent row
14611 algo::cstring ssim; // Ssim content
14612 algo::cstring prev_head; // Helper
14613 algo::Smallstr200 outfile; //
14614 bool ns_c_outfile_in_ary; // false membership flag
14615private:
14616 friend amc::FOutfile& outfile_Alloc() __attribute__((__warn_unused_result__, nothrow));
14617 friend amc::FOutfile* outfile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14618 friend void outfile_Delete(amc::FOutfile &row) __attribute__((nothrow));
14619 FOutfile();
14620 ~FOutfile();
14621 FOutfile(const FOutfile&){ /*disallow copy constructor */}
14622 void operator =(const FOutfile&){ /*disallow direct assignment */}
14623};
14624
14625// func:amc.FOutfile.ns.Get
14626algo::Smallstr16 ns_Get(amc::FOutfile& outfile) __attribute__((__warn_unused_result__, nothrow));
14627
14628// Set all fields to initial values.
14629// func:amc.FOutfile..Init
14630void FOutfile_Init(amc::FOutfile& outfile);
14631// func:amc.FOutfile..Uninit
14632void FOutfile_Uninit(amc::FOutfile& outfile) __attribute__((nothrow));
14633
14634// --- amc.FPack
14635// create: amc.FDb.pack (Lary)
14636// global access: ind_pack (Thash)
14637// access: amc.FCtype.c_pack (Ptr)
14638struct FPack { // amc.FPack
14639 amc::FPack* ind_pack_next; // hash next
14640 algo::Smallstr100 ctype; // Target ctype
14641 amc::FCtype* p_ctype; // reference to parent row
14642private:
14643 friend amc::FPack& pack_Alloc() __attribute__((__warn_unused_result__, nothrow));
14644 friend amc::FPack* pack_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14645 friend void pack_RemoveLast() __attribute__((nothrow));
14646 FPack();
14647 ~FPack();
14648 FPack(const FPack&){ /*disallow copy constructor */}
14649 void operator =(const FPack&){ /*disallow direct assignment */}
14650};
14651
14652// Copy fields out of row
14653// func:amc.FPack.msghdr.CopyOut
14654void pack_CopyOut(amc::FPack &row, dmmeta::Pack &out) __attribute__((nothrow));
14655// Copy fields in to row
14656// func:amc.FPack.msghdr.CopyIn
14657void pack_CopyIn(amc::FPack &row, dmmeta::Pack &in) __attribute__((nothrow));
14658
14659// Set all fields to initial values.
14660// func:amc.FPack..Init
14661void FPack_Init(amc::FPack& pack);
14662// func:amc.FPack..Uninit
14663void FPack_Uninit(amc::FPack& pack) __attribute__((nothrow));
14664
14665// --- amc.FPmaskfld
14666// create: amc.FDb.pmaskfld (Lary)
14667// global access: ind_pmaskfld (Thash)
14668// access: amc.FCtype.c_pmaskfld (Ptrary)
14669// access: amc.FField.c_pmaskfld (Ptr)
14670// access: amc.FPmaskfldMember.p_pmaskfld (Upptr)
14671struct FPmaskfld { // amc.FPmaskfld
14672 amc::FPmaskfld* ind_pmaskfld_next; // hash next
14673 algo::Smallstr100 field; //
14674 bool filter_print; // true Omit non-present fields when printing
14675 algo::Comment comment; //
14676 amc::FField* p_field; // reference to parent row
14677 u32 nextbit; // 0 Next bit to allocate
14678 amc::FPmaskfldMember** c_pmaskfld_member_elems; // array of pointers
14679 u32 c_pmaskfld_member_n; // array of pointers
14680 u32 c_pmaskfld_member_max; // capacity of allocated array
14681 algo::Smallstr50 funcname; //
14682 bool ctype_c_pmaskfld_in_ary; // false membership flag
14683private:
14684 friend amc::FPmaskfld& pmaskfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
14685 friend amc::FPmaskfld* pmaskfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14686 friend void pmaskfld_RemoveLast() __attribute__((nothrow));
14687 FPmaskfld();
14688 ~FPmaskfld();
14689 FPmaskfld(const FPmaskfld&){ /*disallow copy constructor */}
14690 void operator =(const FPmaskfld&){ /*disallow direct assignment */}
14691};
14692
14693// Copy fields out of row
14694// func:amc.FPmaskfld.msghdr.CopyOut
14695void pmaskfld_CopyOut(amc::FPmaskfld &row, dmmeta::Pmaskfld &out) __attribute__((nothrow));
14696// Copy fields in to row
14697// func:amc.FPmaskfld.msghdr.CopyIn
14698void pmaskfld_CopyIn(amc::FPmaskfld &row, dmmeta::Pmaskfld &in) __attribute__((nothrow));
14699
14700// func:amc.FPmaskfld.ctype.Get
14701algo::Smallstr100 ctype_Get(amc::FPmaskfld& pmaskfld) __attribute__((__warn_unused_result__, nothrow));
14702
14703// Return true if index is empty
14704// func:amc.FPmaskfld.c_pmaskfld_member.EmptyQ
14705bool c_pmaskfld_member_EmptyQ(amc::FPmaskfld& pmaskfld) __attribute__((nothrow));
14706// Look up row by row id. Return NULL if out of range
14707// func:amc.FPmaskfld.c_pmaskfld_member.Find
14708amc::FPmaskfldMember* c_pmaskfld_member_Find(amc::FPmaskfld& pmaskfld, u32 t) __attribute__((__warn_unused_result__, nothrow));
14709// Return array of pointers
14710// func:amc.FPmaskfld.c_pmaskfld_member.Getary
14711algo::aryptr<amc::FPmaskfldMember*> c_pmaskfld_member_Getary(amc::FPmaskfld& pmaskfld) __attribute__((nothrow));
14712// Insert pointer to row into array. Row must not already be in array.
14713// If pointer is already in the array, it may be inserted twice.
14714// func:amc.FPmaskfld.c_pmaskfld_member.Insert
14715void c_pmaskfld_member_Insert(amc::FPmaskfld& pmaskfld, amc::FPmaskfldMember& row) __attribute__((nothrow));
14716// Insert pointer to row in array.
14717// If row is already in the array, do nothing.
14718// Return value: whether element was inserted into array.
14719// func:amc.FPmaskfld.c_pmaskfld_member.InsertMaybe
14720bool c_pmaskfld_member_InsertMaybe(amc::FPmaskfld& pmaskfld, amc::FPmaskfldMember& row) __attribute__((nothrow));
14721// Return number of items in the pointer array
14722// func:amc.FPmaskfld.c_pmaskfld_member.N
14723i32 c_pmaskfld_member_N(const amc::FPmaskfld& pmaskfld) __attribute__((__warn_unused_result__, nothrow, pure));
14724// Find element using linear scan. If element is in array, remove, otherwise do nothing
14725// func:amc.FPmaskfld.c_pmaskfld_member.Remove
14726void c_pmaskfld_member_Remove(amc::FPmaskfld& pmaskfld, amc::FPmaskfldMember& row) __attribute__((nothrow));
14727// Empty the index. (The rows are not deleted)
14728// func:amc.FPmaskfld.c_pmaskfld_member.RemoveAll
14729void c_pmaskfld_member_RemoveAll(amc::FPmaskfld& pmaskfld) __attribute__((nothrow));
14730// Reserve space in index for N more elements;
14731// func:amc.FPmaskfld.c_pmaskfld_member.Reserve
14732void c_pmaskfld_member_Reserve(amc::FPmaskfld& pmaskfld, u32 n) __attribute__((nothrow));
14733// Return reference without bounds checking
14734// func:amc.FPmaskfld.c_pmaskfld_member.qFind
14735amc::FPmaskfldMember& c_pmaskfld_member_qFind(amc::FPmaskfld& pmaskfld, u32 idx) __attribute__((nothrow));
14736// True if row is in any ptrary instance
14737// func:amc.FPmaskfld.c_pmaskfld_member.InAryQ
14738bool pmaskfld_c_pmaskfld_member_InAryQ(amc::FPmaskfldMember& row) __attribute__((nothrow));
14739// Reference to last element without bounds checking
14740// func:amc.FPmaskfld.c_pmaskfld_member.qLast
14741amc::FPmaskfldMember& c_pmaskfld_member_qLast(amc::FPmaskfld& pmaskfld) __attribute__((nothrow));
14742
14743// Set all fields to initial values.
14744// func:amc.FPmaskfld..Init
14745void FPmaskfld_Init(amc::FPmaskfld& pmaskfld);
14746// func:amc.FPmaskfld.c_pmaskfld_member_curs.Reset
14747void pmaskfld_c_pmaskfld_member_curs_Reset(pmaskfld_c_pmaskfld_member_curs &curs, amc::FPmaskfld &parent) __attribute__((nothrow));
14748// cursor points to valid item
14749// func:amc.FPmaskfld.c_pmaskfld_member_curs.ValidQ
14750bool pmaskfld_c_pmaskfld_member_curs_ValidQ(pmaskfld_c_pmaskfld_member_curs &curs) __attribute__((nothrow));
14751// proceed to next item
14752// func:amc.FPmaskfld.c_pmaskfld_member_curs.Next
14753void pmaskfld_c_pmaskfld_member_curs_Next(pmaskfld_c_pmaskfld_member_curs &curs) __attribute__((nothrow));
14754// item access
14755// func:amc.FPmaskfld.c_pmaskfld_member_curs.Access
14756amc::FPmaskfldMember& pmaskfld_c_pmaskfld_member_curs_Access(pmaskfld_c_pmaskfld_member_curs &curs) __attribute__((nothrow));
14757// func:amc.FPmaskfld..Uninit
14758void FPmaskfld_Uninit(amc::FPmaskfld& pmaskfld) __attribute__((nothrow));
14759
14760// --- amc.FPmaskfldMember
14761// create: amc.FDb.pmaskfld_member (Lary)
14762// access: amc.FField.c_pmaskfld_member (Ptrary)
14763// access: amc.FPmaskfld.c_pmaskfld_member (Ptrary)
14764struct FPmaskfldMember { // amc.FPmaskfldMember
14765 algo::Smallstr100 pmaskfld_member; //
14766 algo::Comment comment; //
14767 u32 bit; // 0
14768 amc::FField* p_field; // reference to parent row
14769 amc::FPmaskfld* p_pmaskfld; // reference to parent row
14770 bool field_c_pmaskfld_member_in_ary; // false membership flag
14771 bool pmaskfld_c_pmaskfld_member_in_ary; // false membership flag
14772private:
14773 friend amc::FPmaskfldMember& pmaskfld_member_Alloc() __attribute__((__warn_unused_result__, nothrow));
14774 friend amc::FPmaskfldMember* pmaskfld_member_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14775 friend void pmaskfld_member_RemoveAll() __attribute__((nothrow));
14776 friend void pmaskfld_member_RemoveLast() __attribute__((nothrow));
14777 FPmaskfldMember();
14778 ~FPmaskfldMember();
14779 FPmaskfldMember(const FPmaskfldMember&){ /*disallow copy constructor */}
14780 void operator =(const FPmaskfldMember&){ /*disallow direct assignment */}
14781};
14782
14783// Copy fields out of row
14784// func:amc.FPmaskfldMember.base.CopyOut
14785void pmaskfld_member_CopyOut(amc::FPmaskfldMember &row, dmmeta::PmaskfldMember &out) __attribute__((nothrow));
14786// Copy fields in to row
14787// func:amc.FPmaskfldMember.base.CopyIn
14788void pmaskfld_member_CopyIn(amc::FPmaskfldMember &row, dmmeta::PmaskfldMember &in) __attribute__((nothrow));
14789
14790// func:amc.FPmaskfldMember.pmaskfld.Get
14791algo::Smallstr100 pmaskfld_Get(amc::FPmaskfldMember& pmaskfld_member) __attribute__((__warn_unused_result__, nothrow));
14792
14793// func:amc.FPmaskfldMember.field.Get
14794algo::Smallstr100 field_Get(amc::FPmaskfldMember& pmaskfld_member) __attribute__((__warn_unused_result__, nothrow));
14795
14796// Set all fields to initial values.
14797// func:amc.FPmaskfldMember..Init
14798void FPmaskfldMember_Init(amc::FPmaskfldMember& pmaskfld_member);
14799// func:amc.FPmaskfldMember..Uninit
14800void FPmaskfldMember_Uninit(amc::FPmaskfldMember& pmaskfld_member) __attribute__((nothrow));
14801
14802// --- amc.FPnew
14803// create: amc.FDb.pnew (Lary)
14804// global access: ind_pnew (Thash)
14805// access: amc.FNs.c_pnew (Ptrary)
14806struct FPnew { // amc.FPnew
14807 amc::FPnew* ind_pnew_next; // hash next
14808 algo::Smallstr100 pnew; //
14809 amc::FCtype* p_ctype; // reference to parent row
14810 amc::FNs* p_ns; // reference to parent row
14811 bool ns_c_pnew_in_ary; // false membership flag
14812private:
14813 friend amc::FPnew& pnew_Alloc() __attribute__((__warn_unused_result__, nothrow));
14814 friend amc::FPnew* pnew_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14815 friend void pnew_RemoveLast() __attribute__((nothrow));
14816 FPnew();
14817 ~FPnew();
14818 FPnew(const FPnew&){ /*disallow copy constructor */}
14819 void operator =(const FPnew&){ /*disallow direct assignment */}
14820};
14821
14822// Copy fields out of row
14823// func:amc.FPnew.msghdr.CopyOut
14824void pnew_CopyOut(amc::FPnew &row, dmmeta::Pnew &out) __attribute__((nothrow));
14825// Copy fields in to row
14826// func:amc.FPnew.msghdr.CopyIn
14827void pnew_CopyIn(amc::FPnew &row, dmmeta::Pnew &in) __attribute__((nothrow));
14828
14829// func:amc.FPnew.ns.Get
14830algo::Smallstr16 ns_Get(amc::FPnew& pnew) __attribute__((__warn_unused_result__, nothrow));
14831
14832// func:amc.FPnew.ctype.Get
14833algo::Smallstr100 ctype_Get(amc::FPnew& pnew) __attribute__((__warn_unused_result__, nothrow));
14834
14835// func:amc.FPnew.buftype.Get
14836algo::Smallstr50 buftype_Get(amc::FPnew& pnew) __attribute__((__warn_unused_result__, nothrow));
14837
14838// Set all fields to initial values.
14839// func:amc.FPnew..Init
14840void FPnew_Init(amc::FPnew& pnew);
14841// func:amc.FPnew..Uninit
14842void FPnew_Uninit(amc::FPnew& pnew) __attribute__((nothrow));
14843
14844// --- amc.FPtrary
14845// create: amc.FDb.ptrary (Lary)
14846// access: amc.FField.c_ptrary (Ptr)
14847struct FPtrary { // amc.FPtrary
14848 algo::Smallstr100 field; //
14849 bool unique; // false Search for and ignore duplicates
14850 amc::FField* p_field; // reference to parent row
14851private:
14852 friend amc::FPtrary& ptrary_Alloc() __attribute__((__warn_unused_result__, nothrow));
14853 friend amc::FPtrary* ptrary_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14854 friend void ptrary_RemoveLast() __attribute__((nothrow));
14855 FPtrary();
14856 ~FPtrary();
14857 FPtrary(const FPtrary&){ /*disallow copy constructor */}
14858 void operator =(const FPtrary&){ /*disallow direct assignment */}
14859};
14860
14861// Copy fields out of row
14862// func:amc.FPtrary.msghdr.CopyOut
14863void ptrary_CopyOut(amc::FPtrary &row, dmmeta::Ptrary &out) __attribute__((nothrow));
14864// Copy fields in to row
14865// func:amc.FPtrary.msghdr.CopyIn
14866void ptrary_CopyIn(amc::FPtrary &row, dmmeta::Ptrary &in) __attribute__((nothrow));
14867
14868// Set all fields to initial values.
14869// func:amc.FPtrary..Init
14870void FPtrary_Init(amc::FPtrary& ptrary);
14871// func:amc.FPtrary..Uninit
14872void FPtrary_Uninit(amc::FPtrary& ptrary) __attribute__((nothrow));
14873
14874// --- amc.FReftype
14875// create: amc.FDb.reftype (Lary)
14876// global access: ind_reftype (Thash)
14877// access: amc.FField.p_reftype (Upptr)
14878struct FReftype { // amc.FReftype
14879 amc::FReftype* ind_reftype_next; // hash next
14880 algo::Smallstr50 reftype; // "Val"
14881 bool isval; // false True if field makes values of target type
14882 bool cascins; // false Field is cascade-insert
14883 bool usebasepool; // false Fields with this type make use of dmmeta.basepool
14884 bool cancopy; // false This type of field can be copied
14885 bool isxref; // false This type of field is an x-ref
14886 bool del; // false Supports random deletion?
14887 bool up; // false This type of field is a reference
14888 bool isnew; // false If set, skip this relation in amc_vis
14889 bool hasalloc; // false Generte Alloc/Delete functions for arg type
14890 bool inst; // false Field creates an instance of arg type (directly or indirectly)
14891 bool varlen; // false This pool supports varlen allocations
14892 i32 rowid; // 0
14893 amc::FTclass* p_tclass; // reference to parent row
14894 amc::FFprefix* zs_fprefix_head; // zero-terminated singly linked list
14895 amc::FFprefix* zs_fprefix_tail; // pointer to last element
14896private:
14897 friend amc::FReftype& reftype_Alloc() __attribute__((__warn_unused_result__, nothrow));
14898 friend amc::FReftype* reftype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14899 friend void reftype_RemoveAll() __attribute__((nothrow));
14900 friend void reftype_RemoveLast() __attribute__((nothrow));
14901 FReftype();
14902 ~FReftype();
14903 FReftype(const FReftype&){ /*disallow copy constructor */}
14904 void operator =(const FReftype&){ /*disallow direct assignment */}
14905};
14906
14907// Copy fields out of row
14908// func:amc.FReftype.msghdr.CopyOut
14909void reftype_CopyOut(amc::FReftype &row, dmmeta::Reftype &out) __attribute__((nothrow));
14910// Copy fields in to row
14911// func:amc.FReftype.msghdr.CopyIn
14912void reftype_CopyIn(amc::FReftype &row, dmmeta::Reftype &in) __attribute__((nothrow));
14913
14914// Return true if index is empty
14915// func:amc.FReftype.zs_fprefix.EmptyQ
14916bool zs_fprefix_EmptyQ(amc::FReftype& reftype) __attribute__((__warn_unused_result__, nothrow, pure));
14917// If index empty, return NULL. Otherwise return pointer to first element in index
14918// func:amc.FReftype.zs_fprefix.First
14919amc::FFprefix* zs_fprefix_First(amc::FReftype& reftype) __attribute__((__warn_unused_result__, nothrow, pure));
14920// Return true if row is in the linked list, false otherwise
14921// func:amc.FReftype.zs_fprefix.InLlistQ
14922bool zs_fprefix_InLlistQ(amc::FFprefix& row) __attribute__((__warn_unused_result__, nothrow));
14923// Insert row into linked list. If row is already in linked list, do nothing.
14924// func:amc.FReftype.zs_fprefix.Insert
14925void zs_fprefix_Insert(amc::FReftype& reftype, amc::FFprefix& row) __attribute__((nothrow));
14926// If index empty, return NULL. Otherwise return pointer to last element in index
14927// func:amc.FReftype.zs_fprefix.Last
14928amc::FFprefix* zs_fprefix_Last(amc::FReftype& reftype) __attribute__((__warn_unused_result__, nothrow, pure));
14929// Return pointer to next element in the list
14930// func:amc.FReftype.zs_fprefix.Next
14931amc::FFprefix* zs_fprefix_Next(amc::FFprefix &row) __attribute__((__warn_unused_result__, nothrow));
14932// Remove element from index. If element is not in index, do nothing.
14933// Since the list is singly-linked, use linear search to locate the element.
14934// func:amc.FReftype.zs_fprefix.Remove
14935void zs_fprefix_Remove(amc::FReftype& reftype, amc::FFprefix& row) __attribute__((nothrow));
14936// Empty the index. (The rows are not deleted)
14937// func:amc.FReftype.zs_fprefix.RemoveAll
14938void zs_fprefix_RemoveAll(amc::FReftype& reftype) __attribute__((nothrow));
14939// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
14940// func:amc.FReftype.zs_fprefix.RemoveFirst
14941amc::FFprefix* zs_fprefix_RemoveFirst(amc::FReftype& reftype) __attribute__((nothrow));
14942// Return reference to last element in the index. No bounds checking.
14943// func:amc.FReftype.zs_fprefix.qLast
14944amc::FFprefix& zs_fprefix_qLast(amc::FReftype& reftype) __attribute__((__warn_unused_result__, nothrow));
14945
14946// Set all fields to initial values.
14947// func:amc.FReftype..Init
14948void FReftype_Init(amc::FReftype& reftype);
14949// cursor points to valid item
14950// func:amc.FReftype.zs_fprefix_curs.Reset
14951void reftype_zs_fprefix_curs_Reset(reftype_zs_fprefix_curs &curs, amc::FReftype &parent) __attribute__((nothrow));
14952// cursor points to valid item
14953// func:amc.FReftype.zs_fprefix_curs.ValidQ
14954bool reftype_zs_fprefix_curs_ValidQ(reftype_zs_fprefix_curs &curs) __attribute__((nothrow));
14955// proceed to next item
14956// func:amc.FReftype.zs_fprefix_curs.Next
14957void reftype_zs_fprefix_curs_Next(reftype_zs_fprefix_curs &curs) __attribute__((nothrow));
14958// item access
14959// func:amc.FReftype.zs_fprefix_curs.Access
14960amc::FFprefix& reftype_zs_fprefix_curs_Access(reftype_zs_fprefix_curs &curs) __attribute__((nothrow));
14961// func:amc.FReftype..Uninit
14962void FReftype_Uninit(amc::FReftype& reftype) __attribute__((nothrow));
14963
14964// --- amc.FRowid
14965// create: amc.FDb.rowid (Lary)
14966// global access: ind_rowid (Thash)
14967// access: amc.FField.c_rowid (Ptr)
14968struct FRowid { // amc.FRowid
14969 amc::FRowid* ind_rowid_next; // hash next
14970 algo::Smallstr100 field; //
14971 algo::Comment comment; //
14972private:
14973 friend amc::FRowid& rowid_Alloc() __attribute__((__warn_unused_result__, nothrow));
14974 friend amc::FRowid* rowid_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14975 friend void rowid_RemoveLast() __attribute__((nothrow));
14976 FRowid();
14977 ~FRowid();
14978 FRowid(const FRowid&){ /*disallow copy constructor */}
14979 void operator =(const FRowid&){ /*disallow direct assignment */}
14980};
14981
14982// Copy fields out of row
14983// func:amc.FRowid.msghdr.CopyOut
14984void rowid_CopyOut(amc::FRowid &row, dmmeta::Rowid &out) __attribute__((nothrow));
14985// Copy fields in to row
14986// func:amc.FRowid.msghdr.CopyIn
14987void rowid_CopyIn(amc::FRowid &row, dmmeta::Rowid &in) __attribute__((nothrow));
14988
14989// Set all fields to initial values.
14990// func:amc.FRowid..Init
14991void FRowid_Init(amc::FRowid& rowid);
14992// func:amc.FRowid..Uninit
14993void FRowid_Uninit(amc::FRowid& rowid) __attribute__((nothrow));
14994
14995// --- amc.FSmallstr
14996// create: amc.FDb.smallstr (Lary)
14997// global access: ind_smallstr (Thash)
14998// access: amc.FField.c_smallstr (Ptr)
14999struct FSmallstr { // amc.FSmallstr
15000 amc::FSmallstr* ind_smallstr_next; // hash next
15001 algo::Smallstr100 field; //
15002 i32 length; // 0 Maximum characters in the string
15003 algo::Smallstr50 strtype; // Data format for string
15004 algo::CppExpr pad; // Pad character (if applicable)
15005 bool strict; // false
15006 amc::FField* p_field; // reference to parent row
15007 amc::FNumstr* c_numstr; // optional pointer
15008private:
15009 friend amc::FSmallstr& smallstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
15010 friend amc::FSmallstr* smallstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15011 friend void smallstr_RemoveLast() __attribute__((nothrow));
15012 FSmallstr();
15013 ~FSmallstr();
15014 FSmallstr(const FSmallstr&){ /*disallow copy constructor */}
15015 void operator =(const FSmallstr&){ /*disallow direct assignment */}
15016};
15017
15018// Copy fields out of row
15019// func:amc.FSmallstr.msghdr.CopyOut
15020void smallstr_CopyOut(amc::FSmallstr &row, dmmeta::Smallstr &out) __attribute__((nothrow));
15021// Copy fields in to row
15022// func:amc.FSmallstr.msghdr.CopyIn
15023void smallstr_CopyIn(amc::FSmallstr &row, dmmeta::Smallstr &in) __attribute__((nothrow));
15024
15025// func:amc.FSmallstr.ctype.Get
15026algo::Smallstr100 ctype_Get(amc::FSmallstr& smallstr) __attribute__((__warn_unused_result__, nothrow));
15027
15028// Insert row into pointer index. Return final membership status.
15029// func:amc.FSmallstr.c_numstr.InsertMaybe
15030bool c_numstr_InsertMaybe(amc::FSmallstr& smallstr, amc::FNumstr& row) __attribute__((nothrow));
15031// Remove element from index. If element is not in index, do nothing.
15032// func:amc.FSmallstr.c_numstr.Remove
15033void c_numstr_Remove(amc::FSmallstr& smallstr, amc::FNumstr& row) __attribute__((nothrow));
15034
15035// Set all fields to initial values.
15036// func:amc.FSmallstr..Init
15037void FSmallstr_Init(amc::FSmallstr& smallstr);
15038// func:amc.FSmallstr..Uninit
15039void FSmallstr_Uninit(amc::FSmallstr& smallstr) __attribute__((nothrow));
15040
15041// --- amc.FSortfld
15042// create: amc.FDb.sortfld (Lary)
15043// access: amc.FField.c_sortfld (Ptr)
15044struct FSortfld { // amc.FSortfld
15045 algo::Smallstr100 field; //
15046 algo::Smallstr100 sortfld; // Field to sort by
15047 amc::FField* p_sortfld; // reference to parent row
15048private:
15049 friend amc::FSortfld& sortfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
15050 friend amc::FSortfld* sortfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15051 friend void sortfld_RemoveLast() __attribute__((nothrow));
15052 FSortfld();
15053 ~FSortfld();
15054 FSortfld(const FSortfld&){ /*disallow copy constructor */}
15055 void operator =(const FSortfld&){ /*disallow direct assignment */}
15056};
15057
15058// Copy fields out of row
15059// func:amc.FSortfld.msghdr.CopyOut
15060void sortfld_CopyOut(amc::FSortfld &row, dmmeta::Sortfld &out) __attribute__((nothrow));
15061// Copy fields in to row
15062// func:amc.FSortfld.msghdr.CopyIn
15063void sortfld_CopyIn(amc::FSortfld &row, dmmeta::Sortfld &in) __attribute__((nothrow));
15064
15065// Set all fields to initial values.
15066// func:amc.FSortfld..Init
15067void FSortfld_Init(amc::FSortfld& sortfld);
15068// func:amc.FSortfld..Uninit
15069void FSortfld_Uninit(amc::FSortfld& sortfld) __attribute__((nothrow));
15070
15071// --- amc.FSsimfile
15072// create: amc.FDb.ssimfile (Lary)
15073// global access: ind_ssimfile (Thash)
15074// global access: c_ssimfile_sorted (Ptrary)
15075// global access: zd_ssimfile_todo (Llist)
15076// access: amc.FCtype.c_ssimfile (Ptr)
15077// access: amc.FGsymbol.p_ssimfile (Upptr)
15078// access: amc.FSsimsort.p_ssimfile (Upptr)
15079struct FSsimfile { // amc.FSsimfile
15080 amc::FSsimfile* ind_ssimfile_next; // hash next
15081 amc::FSsimfile* zd_ssimfile_todo_next; // zslist link; -1 means not-in-list
15082 amc::FSsimfile* zd_ssimfile_todo_prev; // previous element
15083 algo::Smallstr50 ssimfile; //
15084 algo::Smallstr100 ctype; //
15085 algo::cstring ssim; // Ssim content
15086 amc::FCtype* p_ctype; // reference to parent row
15087 amc::FSsimvolatile* c_ssimvolatile; // optional pointer
15088 bool topovisit; // false
15089 i32 topoindex; // 0
15090 bool input_select; // false
15091 bool _db_c_ssimfile_sorted_in_ary; // false membership flag
15092private:
15093 friend amc::FSsimfile& ssimfile_Alloc() __attribute__((__warn_unused_result__, nothrow));
15094 friend amc::FSsimfile* ssimfile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15095 friend void ssimfile_RemoveLast() __attribute__((nothrow));
15096 FSsimfile();
15097 ~FSsimfile();
15098 FSsimfile(const FSsimfile&){ /*disallow copy constructor */}
15099 void operator =(const FSsimfile&){ /*disallow direct assignment */}
15100};
15101
15102// Copy fields out of row
15103// func:amc.FSsimfile.msghdr.CopyOut
15104void ssimfile_CopyOut(amc::FSsimfile &row, dmmeta::Ssimfile &out) __attribute__((nothrow));
15105// Copy fields in to row
15106// func:amc.FSsimfile.msghdr.CopyIn
15107void ssimfile_CopyIn(amc::FSsimfile &row, dmmeta::Ssimfile &in) __attribute__((nothrow));
15108
15109// func:amc.FSsimfile.ssimns.Get
15110algo::Smallstr16 ssimns_Get(amc::FSsimfile& ssimfile) __attribute__((__warn_unused_result__, nothrow));
15111
15112// func:amc.FSsimfile.ns.Get
15113algo::Smallstr16 ns_Get(amc::FSsimfile& ssimfile) __attribute__((__warn_unused_result__, nothrow));
15114
15115// func:amc.FSsimfile.name.Get
15116algo::Smallstr50 name_Get(amc::FSsimfile& ssimfile) __attribute__((__warn_unused_result__, nothrow));
15117
15118// Insert row into pointer index. Return final membership status.
15119// func:amc.FSsimfile.c_ssimvolatile.InsertMaybe
15120bool c_ssimvolatile_InsertMaybe(amc::FSsimfile& ssimfile, amc::FSsimvolatile& row) __attribute__((nothrow));
15121// Remove element from index. If element is not in index, do nothing.
15122// func:amc.FSsimfile.c_ssimvolatile.Remove
15123void c_ssimvolatile_Remove(amc::FSsimfile& ssimfile, amc::FSsimvolatile& row) __attribute__((nothrow));
15124
15125// Set all fields to initial values.
15126// func:amc.FSsimfile..Init
15127void FSsimfile_Init(amc::FSsimfile& ssimfile);
15128// func:amc.FSsimfile..Uninit
15129void FSsimfile_Uninit(amc::FSsimfile& ssimfile) __attribute__((nothrow));
15130
15131// --- amc.FSsimsort
15132// create: amc.FDb.ssimsort (Lary)
15133struct FSsimsort { // amc.FSsimsort
15134 algo::Smallstr50 ssimfile; //
15135 algo::Smallstr100 sortfld; //
15136 algo::Comment comment; //
15137 amc::FSsimfile* p_ssimfile; // reference to parent row
15138 amc::FField* p_sortfld; // reference to parent row
15139private:
15140 friend amc::FSsimsort& ssimsort_Alloc() __attribute__((__warn_unused_result__, nothrow));
15141 friend amc::FSsimsort* ssimsort_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15142 friend void ssimsort_RemoveAll() __attribute__((nothrow));
15143 friend void ssimsort_RemoveLast() __attribute__((nothrow));
15144 FSsimsort();
15145 // x-reference on amc.FSsimsort.p_ssimfile prevents copy
15146 // x-reference on amc.FSsimsort.p_sortfld prevents copy
15147 FSsimsort(const FSsimsort&){ /*disallow copy constructor */}
15148 void operator =(const FSsimsort&){ /*disallow direct assignment */}
15149};
15150
15151// Copy fields out of row
15152// func:amc.FSsimsort.base.CopyOut
15153void ssimsort_CopyOut(amc::FSsimsort &row, dmmeta::Ssimsort &out) __attribute__((nothrow));
15154// Copy fields in to row
15155// func:amc.FSsimsort.base.CopyIn
15156void ssimsort_CopyIn(amc::FSsimsort &row, dmmeta::Ssimsort &in) __attribute__((nothrow));
15157
15158// Set all fields to initial values.
15159// func:amc.FSsimsort..Init
15160void FSsimsort_Init(amc::FSsimsort& ssimsort);
15161
15162// --- amc.FSsimvolatile
15163// create: amc.FDb.ssimvolatile (Lary)
15164// access: amc.FSsimfile.c_ssimvolatile (Ptr)
15165struct FSsimvolatile { // amc.FSsimvolatile
15166 algo::Smallstr50 ssimfile; //
15167 algo::Comment comment; //
15168private:
15169 friend amc::FSsimvolatile& ssimvolatile_Alloc() __attribute__((__warn_unused_result__, nothrow));
15170 friend amc::FSsimvolatile* ssimvolatile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15171 friend void ssimvolatile_RemoveAll() __attribute__((nothrow));
15172 friend void ssimvolatile_RemoveLast() __attribute__((nothrow));
15173 FSsimvolatile();
15174 ~FSsimvolatile();
15175 FSsimvolatile(const FSsimvolatile&){ /*disallow copy constructor */}
15176 void operator =(const FSsimvolatile&){ /*disallow direct assignment */}
15177};
15178
15179// Copy fields out of row
15180// func:amc.FSsimvolatile.base.CopyOut
15181void ssimvolatile_CopyOut(amc::FSsimvolatile &row, dmmeta::Ssimvolatile &out) __attribute__((nothrow));
15182// Copy fields in to row
15183// func:amc.FSsimvolatile.base.CopyIn
15184void ssimvolatile_CopyIn(amc::FSsimvolatile &row, dmmeta::Ssimvolatile &in) __attribute__((nothrow));
15185
15186// func:amc.FSsimvolatile..Uninit
15187void FSsimvolatile_Uninit(amc::FSsimvolatile& ssimvolatile) __attribute__((nothrow));
15188
15189// --- amc.FStatictuple
15190// create: amc.FDb.static_tuple (Lary)
15191// access: amc.FCtype.c_static (Ptrary)
15192struct FStatictuple { // amc.FStatictuple
15193 algo::Smallstr100 ctype; //
15194 algo::Tuple tuple; //
15195 algo::cstring cppident; //
15196 bool ctype_c_static_in_ary; // false membership flag
15197private:
15198 friend amc::FStatictuple& static_tuple_Alloc() __attribute__((__warn_unused_result__, nothrow));
15199 friend amc::FStatictuple* static_tuple_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15200 friend void static_tuple_RemoveAll() __attribute__((nothrow));
15201 friend void static_tuple_RemoveLast() __attribute__((nothrow));
15202 FStatictuple();
15203 ~FStatictuple();
15204 FStatictuple(const FStatictuple&){ /*disallow copy constructor */}
15205 void operator =(const FStatictuple&){ /*disallow direct assignment */}
15206};
15207
15208// Set all fields to initial values.
15209// func:amc.FStatictuple..Init
15210void FStatictuple_Init(amc::FStatictuple& static_tuple);
15211// func:amc.FStatictuple..Uninit
15212void FStatictuple_Uninit(amc::FStatictuple& static_tuple) __attribute__((nothrow));
15213
15214// --- amc.FSubstr
15215// create: amc.FDb.substr (Lary)
15216// global access: zd_substr_params (Llist)
15217// global access: c_substr_field (Ptrary)
15218// access: amc.FField.c_substr (Ptr)
15219struct FSubstr { // amc.FSubstr
15220 amc::FSubstr* zd_substr_params_next; // zslist link; -1 means not-in-list
15221 amc::FSubstr* zd_substr_params_prev; // previous element
15222 algo::Smallstr100 field; //
15223 algo::CppExpr expr; //
15224 algo::Smallstr100 srcfield; //
15225 amc::FField* p_field; // reference to parent row
15226 amc::FField* p_srcfield; // reference to parent row
15227 u64 range; // 0
15228 bool _db_c_substr_field_in_ary; // false membership flag
15229private:
15230 friend amc::FSubstr& substr_Alloc() __attribute__((__warn_unused_result__, nothrow));
15231 friend amc::FSubstr* substr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15232 friend void substr_RemoveLast() __attribute__((nothrow));
15233 FSubstr();
15234 ~FSubstr();
15235 FSubstr(const FSubstr&){ /*disallow copy constructor */}
15236 void operator =(const FSubstr&){ /*disallow direct assignment */}
15237};
15238
15239// Copy fields out of row
15240// func:amc.FSubstr.msghdr.CopyOut
15241void substr_CopyOut(amc::FSubstr &row, dmmeta::Substr &out) __attribute__((nothrow));
15242// Copy fields in to row
15243// func:amc.FSubstr.msghdr.CopyIn
15244void substr_CopyIn(amc::FSubstr &row, dmmeta::Substr &in) __attribute__((nothrow));
15245
15246// Set all fields to initial values.
15247// func:amc.FSubstr..Init
15248void FSubstr_Init(amc::FSubstr& substr);
15249// func:amc.FSubstr..Uninit
15250void FSubstr_Uninit(amc::FSubstr& substr) __attribute__((nothrow));
15251
15252// --- amc.FTargdep
15253// create: amc.FDb.targdep (Lary)
15254// access: amc.FTarget.c_targdep (Ptrary)
15255struct FTargdep { // amc.FTargdep
15256 algo::Smallstr50 targdep; // Primary key - target.parent
15257 amc::FTarget* p_target; // reference to parent row
15258 amc::FTarget* p_parent; // reference to parent row
15259 bool target_c_targdep_in_ary; // false membership flag
15260private:
15261 friend amc::FTargdep& targdep_Alloc() __attribute__((__warn_unused_result__, nothrow));
15262 friend amc::FTargdep* targdep_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15263 friend void targdep_RemoveLast() __attribute__((nothrow));
15264 FTargdep();
15265 ~FTargdep();
15266 FTargdep(const FTargdep&){ /*disallow copy constructor */}
15267 void operator =(const FTargdep&){ /*disallow direct assignment */}
15268};
15269
15270// Copy fields out of row
15271// func:amc.FTargdep.msghdr.CopyOut
15272void targdep_CopyOut(amc::FTargdep &row, dev::Targdep &out) __attribute__((nothrow));
15273// Copy fields in to row
15274// func:amc.FTargdep.msghdr.CopyIn
15275void targdep_CopyIn(amc::FTargdep &row, dev::Targdep &in) __attribute__((nothrow));
15276
15277// func:amc.FTargdep.target.Get
15278algo::Smallstr16 target_Get(amc::FTargdep& targdep) __attribute__((__warn_unused_result__, nothrow));
15279
15280// func:amc.FTargdep.parent.Get
15281algo::Smallstr16 parent_Get(amc::FTargdep& targdep) __attribute__((__warn_unused_result__, nothrow));
15282
15283// Set all fields to initial values.
15284// func:amc.FTargdep..Init
15285void FTargdep_Init(amc::FTargdep& targdep);
15286// func:amc.FTargdep..Uninit
15287void FTargdep_Uninit(amc::FTargdep& targdep) __attribute__((nothrow));
15288
15289// --- amc.FTarget
15290// create: amc.FDb.target (Lary)
15291// global access: ind_target (Thash)
15292// access: amc.FNs.c_target (Ptr)
15293// access: amc.FTargdep.p_target (Upptr)
15294// access: amc.FTargdep.p_parent (Upptr)
15295struct FTarget { // amc.FTarget
15296 amc::FTarget* ind_target_next; // hash next
15297 algo::Smallstr16 target; // Primary key - name of target
15298 amc::FTargdep** c_targdep_elems; // array of pointers
15299 u32 c_targdep_n; // array of pointers
15300 u32 c_targdep_max; // capacity of allocated array
15301 amc::FNs* p_ns; // reference to parent row
15302private:
15303 friend amc::FTarget& target_Alloc() __attribute__((__warn_unused_result__, nothrow));
15304 friend amc::FTarget* target_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15305 friend void target_RemoveLast() __attribute__((nothrow));
15306 FTarget();
15307 ~FTarget();
15308 FTarget(const FTarget&){ /*disallow copy constructor */}
15309 void operator =(const FTarget&){ /*disallow direct assignment */}
15310};
15311
15312// Copy fields out of row
15313// func:amc.FTarget.msghdr.CopyOut
15314void target_CopyOut(amc::FTarget &row, dev::Target &out) __attribute__((nothrow));
15315// Copy fields in to row
15316// func:amc.FTarget.msghdr.CopyIn
15317void target_CopyIn(amc::FTarget &row, dev::Target &in) __attribute__((nothrow));
15318
15319// Return true if index is empty
15320// func:amc.FTarget.c_targdep.EmptyQ
15321bool c_targdep_EmptyQ(amc::FTarget& target) __attribute__((nothrow));
15322// Look up row by row id. Return NULL if out of range
15323// func:amc.FTarget.c_targdep.Find
15324amc::FTargdep* c_targdep_Find(amc::FTarget& target, u32 t) __attribute__((__warn_unused_result__, nothrow));
15325// Return array of pointers
15326// func:amc.FTarget.c_targdep.Getary
15327algo::aryptr<amc::FTargdep*> c_targdep_Getary(amc::FTarget& target) __attribute__((nothrow));
15328// Insert pointer to row into array. Row must not already be in array.
15329// If pointer is already in the array, it may be inserted twice.
15330// func:amc.FTarget.c_targdep.Insert
15331void c_targdep_Insert(amc::FTarget& target, amc::FTargdep& row) __attribute__((nothrow));
15332// Insert pointer to row in array.
15333// If row is already in the array, do nothing.
15334// Return value: whether element was inserted into array.
15335// func:amc.FTarget.c_targdep.InsertMaybe
15336bool c_targdep_InsertMaybe(amc::FTarget& target, amc::FTargdep& row) __attribute__((nothrow));
15337// Return number of items in the pointer array
15338// func:amc.FTarget.c_targdep.N
15339i32 c_targdep_N(const amc::FTarget& target) __attribute__((__warn_unused_result__, nothrow, pure));
15340// Find element using linear scan. If element is in array, remove, otherwise do nothing
15341// func:amc.FTarget.c_targdep.Remove
15342void c_targdep_Remove(amc::FTarget& target, amc::FTargdep& row) __attribute__((nothrow));
15343// Empty the index. (The rows are not deleted)
15344// func:amc.FTarget.c_targdep.RemoveAll
15345void c_targdep_RemoveAll(amc::FTarget& target) __attribute__((nothrow));
15346// Reserve space in index for N more elements;
15347// func:amc.FTarget.c_targdep.Reserve
15348void c_targdep_Reserve(amc::FTarget& target, u32 n) __attribute__((nothrow));
15349// Return reference without bounds checking
15350// func:amc.FTarget.c_targdep.qFind
15351amc::FTargdep& c_targdep_qFind(amc::FTarget& target, u32 idx) __attribute__((nothrow));
15352// True if row is in any ptrary instance
15353// func:amc.FTarget.c_targdep.InAryQ
15354bool target_c_targdep_InAryQ(amc::FTargdep& row) __attribute__((nothrow));
15355// Reference to last element without bounds checking
15356// func:amc.FTarget.c_targdep.qLast
15357amc::FTargdep& c_targdep_qLast(amc::FTarget& target) __attribute__((nothrow));
15358
15359// Set all fields to initial values.
15360// func:amc.FTarget..Init
15361void FTarget_Init(amc::FTarget& target);
15362// func:amc.FTarget.c_targdep_curs.Reset
15363void target_c_targdep_curs_Reset(target_c_targdep_curs &curs, amc::FTarget &parent) __attribute__((nothrow));
15364// cursor points to valid item
15365// func:amc.FTarget.c_targdep_curs.ValidQ
15366bool target_c_targdep_curs_ValidQ(target_c_targdep_curs &curs) __attribute__((nothrow));
15367// proceed to next item
15368// func:amc.FTarget.c_targdep_curs.Next
15369void target_c_targdep_curs_Next(target_c_targdep_curs &curs) __attribute__((nothrow));
15370// item access
15371// func:amc.FTarget.c_targdep_curs.Access
15372amc::FTargdep& target_c_targdep_curs_Access(target_c_targdep_curs &curs) __attribute__((nothrow));
15373// func:amc.FTarget..Uninit
15374void FTarget_Uninit(amc::FTarget& target) __attribute__((nothrow));
15375
15376// --- amc.FTary
15377// create: amc.FDb.tary (Lary)
15378// global access: ind_tary (Thash)
15379// access: amc.FField.c_tary (Ptr)
15380struct FTary { // amc.FTary
15381 amc::FTary* ind_tary_next; // hash next
15382 algo::Smallstr100 field; //
15383 bool aliased; // false Geneate functions to copy from aryptr
15384 amc::FField* p_field; // reference to parent row
15385private:
15386 friend amc::FTary& tary_Alloc() __attribute__((__warn_unused_result__, nothrow));
15387 friend amc::FTary* tary_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15388 friend void tary_RemoveLast() __attribute__((nothrow));
15389 FTary();
15390 ~FTary();
15391 FTary(const FTary&){ /*disallow copy constructor */}
15392 void operator =(const FTary&){ /*disallow direct assignment */}
15393};
15394
15395// Copy fields out of row
15396// func:amc.FTary.msghdr.CopyOut
15397void tary_CopyOut(amc::FTary &row, dmmeta::Tary &out) __attribute__((nothrow));
15398// Copy fields in to row
15399// func:amc.FTary.msghdr.CopyIn
15400void tary_CopyIn(amc::FTary &row, dmmeta::Tary &in) __attribute__((nothrow));
15401
15402// Set all fields to initial values.
15403// func:amc.FTary..Init
15404void FTary_Init(amc::FTary& tary);
15405// func:amc.FTary..Uninit
15406void FTary_Uninit(amc::FTary& tary) __attribute__((nothrow));
15407
15408// --- amc.FTcurs
15409// create: amc.FDb.tcurs (Lary)
15410// access: amc.FTfunc.c_tcurs (Ptr)
15411struct FTcurs { // amc.FTcurs
15412 algo::Smallstr50 tfunc; //
15413 bool dflt; // false Generate cursor by default? (if not, require fcurs)
15414 algo::Comment comment; //
15415private:
15416 friend amc::FTcurs& tcurs_Alloc() __attribute__((__warn_unused_result__, nothrow));
15417 friend amc::FTcurs* tcurs_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15418 friend void tcurs_RemoveAll() __attribute__((nothrow));
15419 friend void tcurs_RemoveLast() __attribute__((nothrow));
15420 FTcurs();
15421 ~FTcurs();
15422 FTcurs(const FTcurs&){ /*disallow copy constructor */}
15423 void operator =(const FTcurs&){ /*disallow direct assignment */}
15424};
15425
15426// Copy fields out of row
15427// func:amc.FTcurs.base.CopyOut
15428void tcurs_CopyOut(amc::FTcurs &row, amcdb::Tcurs &out) __attribute__((nothrow));
15429// Copy fields in to row
15430// func:amc.FTcurs.base.CopyIn
15431void tcurs_CopyIn(amc::FTcurs &row, amcdb::Tcurs &in) __attribute__((nothrow));
15432
15433// func:amc.FTcurs.curstype.Get
15434algo::Smallstr50 curstype_Get(amc::FTcurs& tcurs) __attribute__((__warn_unused_result__, nothrow));
15435
15436// Set all fields to initial values.
15437// func:amc.FTcurs..Init
15438void FTcurs_Init(amc::FTcurs& tcurs);
15439// func:amc.FTcurs..Uninit
15440void FTcurs_Uninit(amc::FTcurs& tcurs) __attribute__((nothrow));
15441
15442// --- amc.FTfunc
15443// create: amc.FDb.tfunc (Lary)
15444// global access: ind_tfunc (Thash)
15445// access: amc.FTclass.c_tfunc (Ptrary)
15446// access: amc.Genctx.p_tfunc (Upptr)
15447struct FTfunc { // amc.FTfunc
15448 amc::FTfunc* ind_tfunc_next; // hash next
15449 algo::Smallstr50 tfunc; //
15450 bool hasthrow; // false Important defaults for new tfuncs to work
15451 bool leaf; // true Important defaults for new tfuncs to work
15452 bool poolfunc; // false
15453 bool inl; // false Function is typically inline
15454 bool wur; // false Warn unused result
15455 bool pure; // false OK to call fewer times than specified in text
15456 bool ismacro; // false
15457 algo::Comment comment; //
15458 amc::tfunc_step_hook step; // NULL Pointer to a function
15459 amc::FTcurs* c_tcurs; // optional pointer
15460 bool tclass_c_tfunc_in_ary; // false membership flag
15461private:
15462 friend amc::FTfunc& tfunc_Alloc() __attribute__((__warn_unused_result__, nothrow));
15463 friend amc::FTfunc* tfunc_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15464 friend void tfunc_RemoveAll() __attribute__((nothrow));
15465 friend void tfunc_RemoveLast() __attribute__((nothrow));
15466 FTfunc();
15467 ~FTfunc();
15468 FTfunc(const FTfunc&){ /*disallow copy constructor */}
15469 void operator =(const FTfunc&){ /*disallow direct assignment */}
15470};
15471
15472// Copy fields out of row
15473// func:amc.FTfunc.msghdr.CopyOut
15474void tfunc_CopyOut(amc::FTfunc &row, amcdb::Tfunc &out) __attribute__((nothrow));
15475// Copy fields in to row
15476// func:amc.FTfunc.msghdr.CopyIn
15477void tfunc_CopyIn(amc::FTfunc &row, amcdb::Tfunc &in) __attribute__((nothrow));
15478
15479// func:amc.FTfunc.tclass.Get
15480algo::Smallstr50 tclass_Get(amc::FTfunc& tfunc) __attribute__((__warn_unused_result__, nothrow));
15481
15482// func:amc.FTfunc.name.Get
15483algo::Smallstr50 name_Get(amc::FTfunc& tfunc) __attribute__((__warn_unused_result__, nothrow));
15484
15485// Invoke function by pointer
15486// func:amc.FTfunc.step.Call
15487void step_Call(amc::FTfunc& tfunc) __attribute__((nothrow));
15488
15489// Insert row into pointer index. Return final membership status.
15490// func:amc.FTfunc.c_tcurs.InsertMaybe
15491bool c_tcurs_InsertMaybe(amc::FTfunc& tfunc, amc::FTcurs& row) __attribute__((nothrow));
15492// Remove element from index. If element is not in index, do nothing.
15493// func:amc.FTfunc.c_tcurs.Remove
15494void c_tcurs_Remove(amc::FTfunc& tfunc, amc::FTcurs& row) __attribute__((nothrow));
15495
15496// Set all fields to initial values.
15497// func:amc.FTfunc..Init
15498void FTfunc_Init(amc::FTfunc& tfunc);
15499// func:amc.FTfunc..Uninit
15500void FTfunc_Uninit(amc::FTfunc& tfunc) __attribute__((nothrow));
15501
15502// --- amc.FThash
15503// create: amc.FDb.thash (Lary)
15504// access: amc.FField.c_thash (Ptr)
15505struct FThash { // amc.FThash
15506 algo::Smallstr100 field; //
15507 algo::Smallstr100 hashfld; // Field on which hash function is computed
15508 bool unique; // true Enforce uniqueness of member elements
15509 amc::FField* p_hashfld; // reference to parent row
15510 amc::FField* p_field; // reference to parent row
15511private:
15512 friend amc::FThash& thash_Alloc() __attribute__((__warn_unused_result__, nothrow));
15513 friend amc::FThash* thash_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15514 friend void thash_RemoveLast() __attribute__((nothrow));
15515 FThash();
15516 ~FThash();
15517 FThash(const FThash&){ /*disallow copy constructor */}
15518 void operator =(const FThash&){ /*disallow direct assignment */}
15519};
15520
15521// Copy fields out of row
15522// func:amc.FThash.msghdr.CopyOut
15523void thash_CopyOut(amc::FThash &row, dmmeta::Thash &out) __attribute__((nothrow));
15524// Copy fields in to row
15525// func:amc.FThash.msghdr.CopyIn
15526void thash_CopyIn(amc::FThash &row, dmmeta::Thash &in) __attribute__((nothrow));
15527
15528// Set all fields to initial values.
15529// func:amc.FThash..Init
15530void FThash_Init(amc::FThash& thash);
15531// func:amc.FThash..Uninit
15532void FThash_Uninit(amc::FThash& thash) __attribute__((nothrow));
15533
15534// --- amc.FTracefld
15535// create: amc.FDb.tracefld (Lary)
15536struct FTracefld { // amc.FTracefld
15537 algo::Smallstr100 tracefld; //
15538 algo::Comment comment; //
15539private:
15540 friend amc::FTracefld& tracefld_Alloc() __attribute__((__warn_unused_result__, nothrow));
15541 friend amc::FTracefld* tracefld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15542 friend void tracefld_RemoveAll() __attribute__((nothrow));
15543 friend void tracefld_RemoveLast() __attribute__((nothrow));
15544 FTracefld();
15545};
15546
15547// Copy fields out of row
15548// func:amc.FTracefld.msghdr.CopyOut
15549void tracefld_CopyOut(amc::FTracefld &row, dmmeta::Tracefld &out) __attribute__((nothrow));
15550// Copy fields in to row
15551// func:amc.FTracefld.msghdr.CopyIn
15552void tracefld_CopyIn(amc::FTracefld &row, dmmeta::Tracefld &in) __attribute__((nothrow));
15553
15554// func:amc.FTracefld.tracerec.Get
15555algo::Smallstr50 tracerec_Get(amc::FTracefld& tracefld) __attribute__((__warn_unused_result__, nothrow));
15556
15557// func:amc.FTracefld.name.Get
15558algo::Smallstr50 name_Get(amc::FTracefld& tracefld) __attribute__((__warn_unused_result__, nothrow));
15559
15560
15561// --- amc.FTracerec
15562// create: amc.FDb.tracerec (Lary)
15563struct FTracerec { // amc.FTracerec
15564 algo::Smallstr50 tracerec; // e.g. rl_lib.trace
15565 algo::Comment comment; //
15566private:
15567 friend amc::FTracerec& tracerec_Alloc() __attribute__((__warn_unused_result__, nothrow));
15568 friend amc::FTracerec* tracerec_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15569 friend void tracerec_RemoveAll() __attribute__((nothrow));
15570 friend void tracerec_RemoveLast() __attribute__((nothrow));
15571 FTracerec();
15572};
15573
15574// Copy fields out of row
15575// func:amc.FTracerec.msghdr.CopyOut
15576void tracerec_CopyOut(amc::FTracerec &row, dmmeta::Tracerec &out) __attribute__((nothrow));
15577// Copy fields in to row
15578// func:amc.FTracerec.msghdr.CopyIn
15579void tracerec_CopyIn(amc::FTracerec &row, dmmeta::Tracerec &in) __attribute__((nothrow));
15580
15581// func:amc.FTracerec.name.Get
15582algo::Smallstr50 name_Get(amc::FTracerec& tracerec) __attribute__((__warn_unused_result__, nothrow));
15583
15584// func:amc.FTracerec.ns.Get
15585algo::Smallstr16 ns_Get(amc::FTracerec& tracerec) __attribute__((__warn_unused_result__, nothrow));
15586
15587
15588// --- amc.FTypefld
15589// create: amc.FDb.typefld (Lary)
15590// access: amc.FCtype.c_typefld (Ptr)
15591// access: amc.FField.c_typefld (Ptr)
15592struct FTypefld { // amc.FTypefld
15593 algo::Smallstr100 field; //
15594 algo::Comment comment; //
15595 amc::FField* p_field; // reference to parent row
15596 amc::FCtype* p_ctype; // reference to parent row
15597private:
15598 friend amc::FTypefld& typefld_Alloc() __attribute__((__warn_unused_result__, nothrow));
15599 friend amc::FTypefld* typefld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15600 friend void typefld_RemoveLast() __attribute__((nothrow));
15601 FTypefld();
15602 ~FTypefld();
15603 FTypefld(const FTypefld&){ /*disallow copy constructor */}
15604 void operator =(const FTypefld&){ /*disallow direct assignment */}
15605};
15606
15607// Copy fields out of row
15608// func:amc.FTypefld.msghdr.CopyOut
15609void typefld_CopyOut(amc::FTypefld &row, dmmeta::Typefld &out) __attribute__((nothrow));
15610// Copy fields in to row
15611// func:amc.FTypefld.msghdr.CopyIn
15612void typefld_CopyIn(amc::FTypefld &row, dmmeta::Typefld &in) __attribute__((nothrow));
15613
15614// func:amc.FTypefld.ctype.Get
15615algo::Smallstr100 ctype_Get(amc::FTypefld& typefld) __attribute__((__warn_unused_result__, nothrow));
15616
15617// Set all fields to initial values.
15618// func:amc.FTypefld..Init
15619void FTypefld_Init(amc::FTypefld& typefld);
15620// func:amc.FTypefld..Uninit
15621void FTypefld_Uninit(amc::FTypefld& typefld) __attribute__((nothrow));
15622
15623// --- amc.FUsertracefld
15624// create: amc.FDb.usertracefld (Lary)
15625struct FUsertracefld { // amc.FUsertracefld
15626 algo::Smallstr100 tracefld; //
15627 algo::Comment comment; //
15628private:
15629 friend amc::FUsertracefld& usertracefld_Alloc() __attribute__((__warn_unused_result__, nothrow));
15630 friend amc::FUsertracefld* usertracefld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15631 friend void usertracefld_RemoveLast() __attribute__((nothrow));
15632 FUsertracefld();
15633};
15634
15635// Copy fields out of row
15636// func:amc.FUsertracefld.msghdr.CopyOut
15637void usertracefld_CopyOut(amc::FUsertracefld &row, dmmeta::Usertracefld &out) __attribute__((nothrow));
15638// Copy fields in to row
15639// func:amc.FUsertracefld.msghdr.CopyIn
15640void usertracefld_CopyIn(amc::FUsertracefld &row, dmmeta::Usertracefld &in) __attribute__((nothrow));
15641
15642
15643// --- amc.FXref
15644// create: amc.FDb.xref (Lary)
15645// global access: ind_xref (Thash)
15646// access: amc.FCtype.zs_xref (Llist)
15647// access: amc.FField.c_xref (Ptr)
15648// access: amc.FField.zd_xref_keyfld (Llist)
15649struct FXref { // amc.FXref
15650 amc::FXref* zs_xref_next; // zslist link; -1 means not-in-list
15651 amc::FXref* ind_xref_next; // hash next
15652 amc::FXref* zd_xref_keyfld_next; // zslist link; -1 means not-in-list
15653 amc::FXref* zd_xref_keyfld_prev; // previous element
15654 algo::Smallstr100 field; //
15655 algo::CppExpr inscond; // "true" Insert condition
15656 algo::Smallstr200 via; //
15657 amc::FField* p_field; // reference to parent row
15658 amc::FCtype* p_ctype; // reference to parent row
15659 amc::FNocascdel* c_nocascdel; // optional pointer
15660 amc::FField* p_viafld; // reference to parent row
15661 amc::FField* p_keyfld; // reference to parent row
15662private:
15663 friend amc::FXref& xref_Alloc() __attribute__((__warn_unused_result__, nothrow));
15664 friend amc::FXref* xref_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15665 friend void xref_RemoveLast() __attribute__((nothrow));
15666 FXref();
15667 ~FXref();
15668 FXref(const FXref&){ /*disallow copy constructor */}
15669 void operator =(const FXref&){ /*disallow direct assignment */}
15670};
15671
15672// Copy fields out of row
15673// func:amc.FXref.msghdr.CopyOut
15674void xref_CopyOut(amc::FXref &row, dmmeta::Xref &out) __attribute__((nothrow));
15675// Copy fields in to row
15676// func:amc.FXref.msghdr.CopyIn
15677void xref_CopyIn(amc::FXref &row, dmmeta::Xref &in) __attribute__((nothrow));
15678
15679// func:amc.FXref.name.Get
15680algo::Smallstr50 name_Get(amc::FXref& xref) __attribute__((__warn_unused_result__, nothrow));
15681
15682// func:amc.FXref.ns.Get
15683algo::Smallstr16 ns_Get(amc::FXref& xref) __attribute__((__warn_unused_result__, nothrow));
15684
15685// func:amc.FXref.viafld.Get
15686algo::Smallstr100 viafld_Get(amc::FXref& xref) __attribute__((__warn_unused_result__, nothrow));
15687
15688// func:amc.FXref.keyfld.Get
15689algo::Smallstr100 keyfld_Get(amc::FXref& xref) __attribute__((__warn_unused_result__, nothrow));
15690
15691// Insert row into pointer index. Return final membership status.
15692// func:amc.FXref.c_nocascdel.InsertMaybe
15693bool c_nocascdel_InsertMaybe(amc::FXref& xref, amc::FNocascdel& row) __attribute__((nothrow));
15694// Remove element from index. If element is not in index, do nothing.
15695// func:amc.FXref.c_nocascdel.Remove
15696void c_nocascdel_Remove(amc::FXref& xref, amc::FNocascdel& row) __attribute__((nothrow));
15697
15698// Set all fields to initial values.
15699// func:amc.FXref..Init
15700void FXref_Init(amc::FXref& xref);
15701// func:amc.FXref..Uninit
15702void FXref_Uninit(amc::FXref& xref) __attribute__((nothrow));
15703
15704// --- amc.FieldId
15705#pragma pack(push,1)
15706struct FieldId { // amc.FieldId: Field read helper
15707 i32 value; // -1
15708 inline operator amc_FieldIdEnum() const;
15709 explicit FieldId(i32 in_value);
15710 FieldId(amc_FieldIdEnum arg);
15711 FieldId();
15712};
15713#pragma pack(pop)
15714
15715// Get value of field as enum type
15716// func:amc.FieldId.value.GetEnum
15717amc_FieldIdEnum value_GetEnum(const amc::FieldId& parent) __attribute__((nothrow));
15718// Set value of field from enum type.
15719// func:amc.FieldId.value.SetEnum
15720void value_SetEnum(amc::FieldId& parent, amc_FieldIdEnum rhs) __attribute__((nothrow));
15721// Convert numeric value of field to one of predefined string constants.
15722// If string is found, return a static C string. Otherwise, return NULL.
15723// func:amc.FieldId.value.ToCstr
15724const char* value_ToCstr(const amc::FieldId& parent) __attribute__((nothrow));
15725// Convert value to a string. First, attempt conversion to a known string.
15726// If no string matches, print value as a numeric value.
15727// func:amc.FieldId.value.Print
15728void value_Print(const amc::FieldId& parent, algo::cstring &lhs) __attribute__((nothrow));
15729// Convert string to field.
15730// If the string is invalid, do not modify field and return false.
15731// In case of success, return true
15732// func:amc.FieldId.value.SetStrptrMaybe
15733bool value_SetStrptrMaybe(amc::FieldId& parent, algo::strptr rhs) __attribute__((nothrow));
15734// Convert string to field.
15735// If the string is invalid, set numeric value to DFLT
15736// func:amc.FieldId.value.SetStrptr
15737void value_SetStrptr(amc::FieldId& parent, algo::strptr rhs, amc_FieldIdEnum dflt) __attribute__((nothrow));
15738// Convert string to field. Return success value
15739// func:amc.FieldId.value.ReadStrptrMaybe
15740bool value_ReadStrptrMaybe(amc::FieldId& parent, algo::strptr rhs) __attribute__((nothrow));
15741
15742// Read fields of amc::FieldId from an ascii string.
15743// The format of the string is the format of the amc::FieldId's only field
15744// func:amc.FieldId..ReadStrptrMaybe
15745bool FieldId_ReadStrptrMaybe(amc::FieldId &parent, algo::strptr in_str) __attribute__((nothrow));
15746// Set all fields to initial values.
15747// func:amc.FieldId..Init
15748void FieldId_Init(amc::FieldId& parent);
15749// print string representation of ROW to string STR
15750// cfmt:amc.FieldId.String printfmt:Raw
15751// func:amc.FieldId..Print
15752void FieldId_Print(amc::FieldId& row, algo::cstring& str) __attribute__((nothrow));
15753
15754// --- amc.Funcarg
15755// create: amc.FFunc.funcarg (Tary)
15756struct Funcarg { // amc.Funcarg
15757 algo::cstring type; // C++ expression for declaration
15758 algo::cstring name; // Argument name
15759 algo::cstring dflt; // Initializer
15760 bool retval; // false Is return value?
15761 bool initialized; // false
15762 bool indent; // false Formatting option for prototype
15763 bool typearg; // false
15764 Funcarg();
15765};
15766
15767// Set all fields to initial values.
15768// func:amc.Funcarg..Init
15769void Funcarg_Init(amc::Funcarg& parent);
15770
15771// --- amc.Genpnew
15772struct Genpnew { // amc.Genpnew
15773 amc::FFunc* p_func; // reference to parent row
15774 algo_lib::Replscope R; //
15775 algo::cstring preamble; //
15776 algo::cstring postamble; //
15777 bool req_pack; // false
15778 amc::FCtype* p_ctype; // reference to parent row
15779 amc::FField* p_optfld; // reference to parent row
15780 amc::FField* p_varlenfld; // reference to parent row
15781 bool optnolen; // false
15782 bool hasret; // true
15783 Genpnew();
15784private:
15785 // value field amc.Genpnew.R is not copiable
15786 Genpnew(const Genpnew&){ /*disallow copy constructor */}
15787 void operator =(const Genpnew&){ /*disallow direct assignment */}
15788};
15789
15790// Set all fields to initial values.
15791// func:amc.Genpnew..Init
15792void Genpnew_Init(amc::Genpnew& parent);
15793
15794// --- amc.Pnewtype
15795struct Pnewtype { // amc.Pnewtype
15796 u8 value; // 0
15797 inline operator amc_PnewtypeEnum() const;
15798 explicit Pnewtype(u8 in_value);
15799 Pnewtype(amc_PnewtypeEnum arg);
15800 Pnewtype();
15801};
15802
15803// Get value of field as enum type
15804// func:amc.Pnewtype.value.GetEnum
15805amc_PnewtypeEnum value_GetEnum(const amc::Pnewtype& parent) __attribute__((nothrow));
15806// Set value of field from enum type.
15807// func:amc.Pnewtype.value.SetEnum
15808void value_SetEnum(amc::Pnewtype& parent, amc_PnewtypeEnum rhs) __attribute__((nothrow));
15809// Convert numeric value of field to one of predefined string constants.
15810// If string is found, return a static C string. Otherwise, return NULL.
15811// func:amc.Pnewtype.value.ToCstr
15812const char* value_ToCstr(const amc::Pnewtype& parent) __attribute__((nothrow));
15813// Convert value to a string. First, attempt conversion to a known string.
15814// If no string matches, print value as a numeric value.
15815// func:amc.Pnewtype.value.Print
15816void value_Print(const amc::Pnewtype& parent, algo::cstring &lhs) __attribute__((nothrow));
15817// Convert string to field.
15818// If the string is invalid, do not modify field and return false.
15819// In case of success, return true
15820// func:amc.Pnewtype.value.SetStrptrMaybe
15821bool value_SetStrptrMaybe(amc::Pnewtype& parent, algo::strptr rhs) __attribute__((nothrow));
15822// Convert string to field.
15823// If the string is invalid, set numeric value to DFLT
15824// func:amc.Pnewtype.value.SetStrptr
15825void value_SetStrptr(amc::Pnewtype& parent, algo::strptr rhs, amc_PnewtypeEnum dflt) __attribute__((nothrow));
15826// Convert string to field. Return success value
15827// func:amc.Pnewtype.value.ReadStrptrMaybe
15828bool value_ReadStrptrMaybe(amc::Pnewtype& parent, algo::strptr rhs) __attribute__((nothrow));
15829
15830// Read fields of amc::Pnewtype from an ascii string.
15831// The format of the string is the format of the amc::Pnewtype's only field
15832// func:amc.Pnewtype..ReadStrptrMaybe
15833bool Pnewtype_ReadStrptrMaybe(amc::Pnewtype &parent, algo::strptr in_str) __attribute__((nothrow));
15834// Set all fields to initial values.
15835// func:amc.Pnewtype..Init
15836void Pnewtype_Init(amc::Pnewtype& parent);
15837// print string representation of ROW to string STR
15838// cfmt:amc.Pnewtype.String printfmt:Raw
15839// func:amc.Pnewtype..Print
15840void Pnewtype_Print(amc::Pnewtype row, algo::cstring& str) __attribute__((nothrow));
15841
15842// --- amc.TableId
15843struct TableId { // amc.TableId: Index of table in this namespace
15844 i32 value; // -1 index of table
15845 inline operator amc_TableIdEnum() const;
15846 explicit TableId(i32 in_value);
15847 TableId(amc_TableIdEnum arg);
15848 TableId();
15849};
15850
15851// Get value of field as enum type
15852// func:amc.TableId.value.GetEnum
15853amc_TableIdEnum value_GetEnum(const amc::TableId& parent) __attribute__((nothrow));
15854// Set value of field from enum type.
15855// func:amc.TableId.value.SetEnum
15856void value_SetEnum(amc::TableId& parent, amc_TableIdEnum rhs) __attribute__((nothrow));
15857// Convert numeric value of field to one of predefined string constants.
15858// If string is found, return a static C string. Otherwise, return NULL.
15859// func:amc.TableId.value.ToCstr
15860const char* value_ToCstr(const amc::TableId& parent) __attribute__((nothrow));
15861// Convert value to a string. First, attempt conversion to a known string.
15862// If no string matches, print value as a numeric value.
15863// func:amc.TableId.value.Print
15864void value_Print(const amc::TableId& parent, algo::cstring &lhs) __attribute__((nothrow));
15865// Convert string to field.
15866// If the string is invalid, do not modify field and return false.
15867// In case of success, return true
15868// func:amc.TableId.value.SetStrptrMaybe
15869bool value_SetStrptrMaybe(amc::TableId& parent, algo::strptr rhs) __attribute__((nothrow));
15870// Convert string to field.
15871// If the string is invalid, set numeric value to DFLT
15872// func:amc.TableId.value.SetStrptr
15873void value_SetStrptr(amc::TableId& parent, algo::strptr rhs, amc_TableIdEnum dflt) __attribute__((nothrow));
15874// Convert string to field. Return success value
15875// func:amc.TableId.value.ReadStrptrMaybe
15876bool value_ReadStrptrMaybe(amc::TableId& parent, algo::strptr rhs) __attribute__((nothrow));
15877
15878// Read fields of amc::TableId from an ascii string.
15879// The format of the string is the format of the amc::TableId's only field
15880// func:amc.TableId..ReadStrptrMaybe
15881bool TableId_ReadStrptrMaybe(amc::TableId &parent, algo::strptr in_str) __attribute__((nothrow));
15882// Set all fields to initial values.
15883// func:amc.TableId..Init
15884void TableId_Init(amc::TableId& parent);
15885// print string representation of ROW to string STR
15886// cfmt:amc.TableId.String printfmt:Raw
15887// func:amc.TableId..Print
15888void TableId_Print(amc::TableId& row, algo::cstring& str) __attribute__((nothrow));
15889} // gen:ns_print_struct
15890namespace amc { // gen:ns_curstext
15891
15892struct ctype_zs_cfmt_curs {// fcurs:amc.FCtype.zs_cfmt/curs
15893 typedef amc::FCfmt ChildType;
15894 amc::FCfmt* row;
15895 ctype_zs_cfmt_curs() {
15896 row = NULL;
15897 }
15898};
15899
15900
15901struct ctype_c_field_curs {// fcurs:amc.FCtype.c_field/curs
15902 typedef amc::FField ChildType;
15903 amc::FField** elems;
15904 u32 n_elems;
15905 u32 index;
15906 ctype_c_field_curs() { elems=NULL; n_elems=0; index=0; }
15907};
15908
15909
15910struct ctype_c_static_curs {// fcurs:amc.FCtype.c_static/curs
15911 typedef amc::FStatictuple ChildType;
15912 amc::FStatictuple** elems;
15913 u32 n_elems;
15914 u32 index;
15915 ctype_c_static_curs() { elems=NULL; n_elems=0; index=0; }
15916};
15917
15918
15919struct ctype_c_parent_curs {// fcurs:amc.FCtype.c_parent/curs
15920 typedef amc::FCtype ChildType;
15921 amc::FCtype** elems;
15922 u32 n_elems;
15923 u32 index;
15924 ctype_c_parent_curs() { elems=NULL; n_elems=0; index=0; }
15925};
15926
15927
15928struct ctype_c_pmaskfld_curs {// fcurs:amc.FCtype.c_pmaskfld/curs
15929 typedef amc::FPmaskfld ChildType;
15930 amc::FPmaskfld** elems;
15931 u32 n_elems;
15932 u32 index;
15933 ctype_c_pmaskfld_curs() { elems=NULL; n_elems=0; index=0; }
15934};
15935
15936
15937struct ctype_c_datafld_curs {// fcurs:amc.FCtype.c_datafld/curs
15938 typedef amc::FField ChildType;
15939 amc::FField** elems;
15940 u32 n_elems;
15941 u32 index;
15942 ctype_c_datafld_curs() { elems=NULL; n_elems=0; index=0; }
15943};
15944
15945
15946struct ctype_zd_inst_curs {// fcurs:amc.FCtype.zd_inst/curs
15947 typedef amc::FField ChildType;
15948 amc::FField* row;
15949 ctype_zd_inst_curs() {
15950 row = NULL;
15951 }
15952};
15953
15954
15955struct ctype_zs_xref_curs {// fcurs:amc.FCtype.zs_xref/curs
15956 typedef amc::FXref ChildType;
15957 amc::FXref* row;
15958 ctype_zs_xref_curs() {
15959 row = NULL;
15960 }
15961};
15962
15963
15964struct ctype_c_ffunc_curs {// fcurs:amc.FCtype.c_ffunc/curs
15965 typedef amc::FFunc ChildType;
15966 amc::FFunc** elems;
15967 u32 n_elems;
15968 u32 index;
15969 ctype_c_ffunc_curs() { elems=NULL; n_elems=0; index=0; }
15970};
15971
15972
15973struct ctype_zd_cafter_curs {// fcurs:amc.FCtype.zd_cafter/curs
15974 typedef amc::FCafter ChildType;
15975 amc::FCafter* row;
15976 ctype_zd_cafter_curs() {
15977 row = NULL;
15978 }
15979};
15980
15981
15982struct ctype_zd_access_curs {// fcurs:amc.FCtype.zd_access/curs
15983 typedef amc::FField ChildType;
15984 amc::FField* row;
15985 ctype_zd_access_curs() {
15986 row = NULL;
15987 }
15988};
15989
15990
15991struct ctype_c_fcurs_curs {// fcurs:amc.FCtype.c_fcurs/curs
15992 typedef amc::FFcurs ChildType;
15993 amc::FFcurs** elems;
15994 u32 n_elems;
15995 u32 index;
15996 ctype_c_fcurs_curs() { elems=NULL; n_elems=0; index=0; }
15997};
15998
15999
16000struct ctype_c_ffast_curs {// fcurs:amc.FCtype.c_ffast/curs
16001 typedef amc::FFfast ChildType;
16002 amc::FFfast** elems;
16003 u32 n_elems;
16004 u32 index;
16005 ctype_c_ffast_curs() { elems=NULL; n_elems=0; index=0; }
16006};
16007
16008
16009struct tclass_c_tfunc_curs {// fcurs:amc.FTclass.c_tfunc/curs
16010 typedef amc::FTfunc ChildType;
16011 amc::FTfunc** elems;
16012 u32 n_elems;
16013 u32 index;
16014 tclass_c_tfunc_curs() { elems=NULL; n_elems=0; index=0; }
16015};
16016
16017
16018struct _db_fsort_curs {// cursor
16019 typedef amc::FFsort ChildType;
16020 amc::FDb *parent;
16021 i64 index;
16022 _db_fsort_curs(){ parent=NULL; index=0; }
16023};
16024
16025
16026struct _db_dispfilter_curs {// cursor
16027 typedef amc::FDispfilter ChildType;
16028 amc::FDb *parent;
16029 i64 index;
16030 _db_dispfilter_curs(){ parent=NULL; index=0; }
16031};
16032
16033
16034struct _db_usertracefld_curs {// cursor
16035 typedef amc::FUsertracefld ChildType;
16036 amc::FDb *parent;
16037 i64 index;
16038 _db_usertracefld_curs(){ parent=NULL; index=0; }
16039};
16040
16041
16042struct _db_cfmt_curs {// cursor
16043 typedef amc::FCfmt ChildType;
16044 amc::FDb *parent;
16045 i64 index;
16046 _db_cfmt_curs(){ parent=NULL; index=0; }
16047};
16048
16049
16050struct _db_dispatch_curs {// cursor
16051 typedef amc::FDispatch ChildType;
16052 amc::FDb *parent;
16053 i64 index;
16054 _db_dispatch_curs(){ parent=NULL; index=0; }
16055};
16056
16057
16058struct _db_dispatch_msg_curs {// cursor
16059 typedef amc::FDispatchmsg ChildType;
16060 amc::FDb *parent;
16061 i64 index;
16062 _db_dispatch_msg_curs(){ parent=NULL; index=0; }
16063};
16064
16065
16066struct _db_ctype_curs {// cursor
16067 typedef amc::FCtype ChildType;
16068 amc::FDb *parent;
16069 i64 index;
16070 _db_ctype_curs(){ parent=NULL; index=0; }
16071};
16072
16073
16074struct _db_field_curs {// cursor
16075 typedef amc::FField ChildType;
16076 amc::FDb *parent;
16077 i64 index;
16078 _db_field_curs(){ parent=NULL; index=0; }
16079};
16080
16081
16082struct _db_basepool_curs {// cursor
16083 typedef amc::FBasepool ChildType;
16084 amc::FDb *parent;
16085 i64 index;
16086 _db_basepool_curs(){ parent=NULL; index=0; }
16087};
16088
16089
16090struct _db_llist_curs {// cursor
16091 typedef amc::FLlist ChildType;
16092 amc::FDb *parent;
16093 i64 index;
16094 _db_llist_curs(){ parent=NULL; index=0; }
16095};
16096
16097
16098struct _db_anonfld_curs {// cursor
16099 typedef amc::FAnonfld ChildType;
16100 amc::FDb *parent;
16101 i64 index;
16102 _db_anonfld_curs(){ parent=NULL; index=0; }
16103};
16104
16105
16106struct _db_xref_curs {// cursor
16107 typedef amc::FXref ChildType;
16108 amc::FDb *parent;
16109 i64 index;
16110 _db_xref_curs(){ parent=NULL; index=0; }
16111};
16112
16113
16114struct _db_ns_curs {// cursor
16115 typedef amc::FNs ChildType;
16116 amc::FDb *parent;
16117 i64 index;
16118 _db_ns_curs(){ parent=NULL; index=0; }
16119};
16120
16121
16122struct _db_pnew_curs {// cursor
16123 typedef amc::FPnew ChildType;
16124 amc::FDb *parent;
16125 i64 index;
16126 _db_pnew_curs(){ parent=NULL; index=0; }
16127};
16128
16129
16130struct _db_fldoffset_curs {// cursor
16131 typedef amc::FFldoffset ChildType;
16132 amc::FDb *parent;
16133 i64 index;
16134 _db_fldoffset_curs(){ parent=NULL; index=0; }
16135};
16136
16137
16138struct _db_typefld_curs {// cursor
16139 typedef amc::FTypefld ChildType;
16140 amc::FDb *parent;
16141 i64 index;
16142 _db_typefld_curs(){ parent=NULL; index=0; }
16143};
16144
16145
16146struct _db_lenfld_curs {// cursor
16147 typedef amc::FLenfld ChildType;
16148 amc::FDb *parent;
16149 i64 index;
16150 _db_lenfld_curs(){ parent=NULL; index=0; }
16151};
16152
16153
16154struct _db_bltin_curs {// cursor
16155 typedef amc::FBltin ChildType;
16156 amc::FDb *parent;
16157 i64 index;
16158 _db_bltin_curs(){ parent=NULL; index=0; }
16159};
16160
16161
16162struct _db_static_tuple_curs {// cursor
16163 typedef amc::FStatictuple ChildType;
16164 amc::FDb *parent;
16165 i64 index;
16166 _db_static_tuple_curs(){ parent=NULL; index=0; }
16167};
16168
16169
16170struct _db_msgtype_curs {// cursor
16171 typedef amc::FMsgtype ChildType;
16172 amc::FDb *parent;
16173 i64 index;
16174 _db_msgtype_curs(){ parent=NULL; index=0; }
16175};
16176
16177
16178struct _db_gconst_curs {// cursor
16179 typedef amc::FGconst ChildType;
16180 amc::FDb *parent;
16181 i64 index;
16182 _db_gconst_curs(){ parent=NULL; index=0; }
16183};
16184
16185
16186struct _db_gstatic_curs {// cursor
16187 typedef amc::FGstatic ChildType;
16188 amc::FDb *parent;
16189 i64 index;
16190 _db_gstatic_curs(){ parent=NULL; index=0; }
16191};
16192
16193
16194struct _db_thash_curs {// cursor
16195 typedef amc::FThash ChildType;
16196 amc::FDb *parent;
16197 i64 index;
16198 _db_thash_curs(){ parent=NULL; index=0; }
16199};
16200
16201
16202struct _db_func_curs {// cursor
16203 typedef amc::FFunc ChildType;
16204 amc::FDb *parent;
16205 i64 index;
16206 _db_func_curs(){ parent=NULL; index=0; }
16207};
16208
16209
16210struct _db_smallstr_curs {// cursor
16211 typedef amc::FSmallstr ChildType;
16212 amc::FDb *parent;
16213 i64 index;
16214 _db_smallstr_curs(){ parent=NULL; index=0; }
16215};
16216
16217
16218struct _db_numstr_curs {// cursor
16219 typedef amc::FNumstr ChildType;
16220 amc::FDb *parent;
16221 i64 index;
16222 _db_numstr_curs(){ parent=NULL; index=0; }
16223};
16224
16225
16226struct _db_main_curs {// cursor
16227 typedef amc::FMain ChildType;
16228 amc::FDb *parent;
16229 i64 index;
16230 _db_main_curs(){ parent=NULL; index=0; }
16231};
16232
16233
16234struct _db_reftype_curs {// cursor
16235 typedef amc::FReftype ChildType;
16236 amc::FDb *parent;
16237 i64 index;
16238 _db_reftype_curs(){ parent=NULL; index=0; }
16239};
16240
16241
16242struct _db_cpptype_curs {// cursor
16243 typedef amc::FCpptype ChildType;
16244 amc::FDb *parent;
16245 i64 index;
16246 _db_cpptype_curs(){ parent=NULL; index=0; }
16247};
16248
16249
16250struct _db_inlary_curs {// cursor
16251 typedef amc::FInlary ChildType;
16252 amc::FDb *parent;
16253 i64 index;
16254 _db_inlary_curs(){ parent=NULL; index=0; }
16255};
16256
16257
16258struct _db_tary_curs {// cursor
16259 typedef amc::FTary ChildType;
16260 amc::FDb *parent;
16261 i64 index;
16262 _db_tary_curs(){ parent=NULL; index=0; }
16263};
16264
16265
16266struct _db_cppfunc_curs {// cursor
16267 typedef amc::FCppfunc ChildType;
16268 amc::FDb *parent;
16269 i64 index;
16270 _db_cppfunc_curs(){ parent=NULL; index=0; }
16271};
16272
16273
16274struct _db_rowid_curs {// cursor
16275 typedef amc::FRowid ChildType;
16276 amc::FDb *parent;
16277 i64 index;
16278 _db_rowid_curs(){ parent=NULL; index=0; }
16279};
16280
16281
16282struct _db_cascdel_curs {// cursor
16283 typedef amc::FCascdel ChildType;
16284 amc::FDb *parent;
16285 i64 index;
16286 _db_cascdel_curs(){ parent=NULL; index=0; }
16287};
16288
16289
16290struct _db_substr_curs {// cursor
16291 typedef amc::FSubstr ChildType;
16292 amc::FDb *parent;
16293 i64 index;
16294 _db_substr_curs(){ parent=NULL; index=0; }
16295};
16296
16297
16298struct _db_bitfld_curs {// cursor
16299 typedef amc::FBitfld ChildType;
16300 amc::FDb *parent;
16301 i64 index;
16302 _db_bitfld_curs(){ parent=NULL; index=0; }
16303};
16304
16305
16306struct _db_ssimfile_curs {// cursor
16307 typedef amc::FSsimfile ChildType;
16308 amc::FDb *parent;
16309 i64 index;
16310 _db_ssimfile_curs(){ parent=NULL; index=0; }
16311};
16312
16313
16314struct _db_pack_curs {// cursor
16315 typedef amc::FPack ChildType;
16316 amc::FDb *parent;
16317 i64 index;
16318 _db_pack_curs(){ parent=NULL; index=0; }
16319};
16320
16321
16322struct _db_ptrary_curs {// cursor
16323 typedef amc::FPtrary ChildType;
16324 amc::FDb *parent;
16325 i64 index;
16326 _db_ptrary_curs(){ parent=NULL; index=0; }
16327};
16328
16329
16330struct _db_c_ctype_sorted_curs {// fcurs:amc.FDb.c_ctype_sorted/curs
16331 typedef amc::FCtype ChildType;
16332 amc::FCtype** elems;
16333 u32 n_elems;
16334 u32 index;
16335 _db_c_ctype_sorted_curs() { elems=NULL; n_elems=0; index=0; }
16336};
16337
16338
16339struct _db_enumstr_curs {// cursor
16340 typedef amc::FEnumstr ChildType;
16341 amc::FDb *parent;
16342 i64 index;
16343 _db_enumstr_curs(){ parent=NULL; index=0; }
16344};
16345
16346
16347struct _db_enumstr_len_curs {// cursor
16348 typedef amc::FEnumstrLen ChildType;
16349 amc::FDb *parent;
16350 i64 index;
16351 _db_enumstr_len_curs(){ parent=NULL; index=0; }
16352};
16353
16354// Non-destructive heap cursor, returns heap elements in sorted order.
16355// A running front of potential smallest entries is kept in the helper heap (curs.temp_%)
16356struct _db_bh_enumstr_len_curs {
16357 typedef amc::FEnumstrLen ChildType;
16358 amc::FDb *parent; // parent
16359 amc::FEnumstrLen* *temp_elems; // helper heap
16360 int temp_n; // number of elements heaped in the helper heap
16361 int temp_max; // max number of elements possible in the helper heap
16362 _db_bh_enumstr_len_curs() : parent(NULL), temp_elems(NULL), temp_n(0), temp_max(0) {}
16363 ~_db_bh_enumstr_len_curs();
16364};
16365
16366
16367struct _db_fbitset_curs {// cursor
16368 typedef amc::FFbitset ChildType;
16369 amc::FDb *parent;
16370 i64 index;
16371 _db_fbitset_curs(){ parent=NULL; index=0; }
16372};
16373
16374
16375struct _db_fcleanup_curs {// cursor
16376 typedef amc::FFcleanup ChildType;
16377 amc::FDb *parent;
16378 i64 index;
16379 _db_fcleanup_curs(){ parent=NULL; index=0; }
16380};
16381
16382
16383struct _db_fdec_curs {// cursor
16384 typedef amc::FFdec ChildType;
16385 amc::FDb *parent;
16386 i64 index;
16387 _db_fdec_curs(){ parent=NULL; index=0; }
16388};
16389
16390
16391struct _db_fconst_curs {// cursor
16392 typedef amc::FFconst ChildType;
16393 amc::FDb *parent;
16394 i64 index;
16395 _db_fconst_curs(){ parent=NULL; index=0; }
16396};
16397
16398
16399struct _db_c_ns_sorted_curs {// fcurs:amc.FDb.c_ns_sorted/curs
16400 typedef amc::FNs ChildType;
16401 amc::FNs** elems;
16402 u32 n_elems;
16403 u32 index;
16404 _db_c_ns_sorted_curs() { elems=NULL; n_elems=0; index=0; }
16405};
16406
16407
16408struct _db_finput_curs {// cursor
16409 typedef amc::FFinput ChildType;
16410 amc::FDb *parent;
16411 i64 index;
16412 _db_finput_curs(){ parent=NULL; index=0; }
16413};
16414
16415
16416struct _db_foutput_curs {// cursor
16417 typedef amc::FFoutput ChildType;
16418 amc::FDb *parent;
16419 i64 index;
16420 _db_foutput_curs(){ parent=NULL; index=0; }
16421};
16422
16423
16424struct _db_fbuf_curs {// cursor
16425 typedef amc::FFbuf ChildType;
16426 amc::FDb *parent;
16427 i64 index;
16428 _db_fbuf_curs(){ parent=NULL; index=0; }
16429};
16430
16431
16432struct _db_chash_curs {// cursor
16433 typedef amc::FChash ChildType;
16434 amc::FDb *parent;
16435 i64 index;
16436 _db_chash_curs(){ parent=NULL; index=0; }
16437};
16438
16439
16440struct _db_ccmp_curs {// cursor
16441 typedef amc::FCcmp ChildType;
16442 amc::FDb *parent;
16443 i64 index;
16444 _db_ccmp_curs(){ parent=NULL; index=0; }
16445};
16446
16447
16448struct _db_fbigend_curs {// cursor
16449 typedef amc::FFbigend ChildType;
16450 amc::FDb *parent;
16451 i64 index;
16452 _db_fbigend_curs(){ parent=NULL; index=0; }
16453};
16454
16455
16456struct _db_zsl_ctype_pack_tran_curs {// fcurs:amc.FDb.zsl_ctype_pack_tran/curs
16457 typedef amc::FCtype ChildType;
16458 amc::FCtype* row;
16459 _db_zsl_ctype_pack_tran_curs() {
16460 row = NULL;
16461 }
16462};
16463
16464
16465struct _db_cstr_curs {// cursor
16466 typedef amc::FCstr ChildType;
16467 amc::FDb *parent;
16468 i64 index;
16469 _db_cstr_curs(){ parent=NULL; index=0; }
16470};
16471
16472
16473struct _db_listtype_curs {// cursor
16474 typedef amc::FListtype ChildType;
16475 amc::FDb *parent;
16476 i64 index;
16477 _db_listtype_curs(){ parent=NULL; index=0; }
16478};
16479
16480
16481struct _db_fstep_curs {// cursor
16482 typedef amc::FFstep ChildType;
16483 amc::FDb *parent;
16484 i64 index;
16485 _db_fstep_curs(){ parent=NULL; index=0; }
16486};
16487
16488
16489struct _db_cextern_curs {// cursor
16490 typedef amc::FCextern ChildType;
16491 amc::FDb *parent;
16492 i64 index;
16493 _db_cextern_curs(){ parent=NULL; index=0; }
16494};
16495
16496
16497struct _db_fdelay_curs {// cursor
16498 typedef amc::FFdelay ChildType;
16499 amc::FDb *parent;
16500 i64 index;
16501 _db_fdelay_curs(){ parent=NULL; index=0; }
16502};
16503
16504
16505struct _db_disptrace_curs {// cursor
16506 typedef amc::FDisptrace ChildType;
16507 amc::FDb *parent;
16508 i64 index;
16509 _db_disptrace_curs(){ parent=NULL; index=0; }
16510};
16511
16512
16513struct _db_tracefld_curs {// cursor
16514 typedef amc::FTracefld ChildType;
16515 amc::FDb *parent;
16516 i64 index;
16517 _db_tracefld_curs(){ parent=NULL; index=0; }
16518};
16519
16520
16521struct _db_tracerec_curs {// cursor
16522 typedef amc::FTracerec ChildType;
16523 amc::FDb *parent;
16524 i64 index;
16525 _db_tracerec_curs(){ parent=NULL; index=0; }
16526};
16527
16528
16529struct _db_dispsig_curs {// cursor
16530 typedef amc::FDispsig ChildType;
16531 amc::FDb *parent;
16532 i64 index;
16533 _db_dispsig_curs(){ parent=NULL; index=0; }
16534};
16535
16536
16537struct _db_c_dispsig_sorted_curs {// fcurs:amc.FDb.c_dispsig_sorted/curs
16538 typedef amc::FDispsig ChildType;
16539 amc::FDispsig** elems;
16540 u32 n_elems;
16541 u32 index;
16542 _db_c_dispsig_sorted_curs() { elems=NULL; n_elems=0; index=0; }
16543};
16544
16545
16546struct _db_zs_sig_visit_curs {// fcurs:amc.FDb.zs_sig_visit/curs
16547 typedef amc::FCtype ChildType;
16548 amc::FCtype* row;
16549 _db_zs_sig_visit_curs() {
16550 row = NULL;
16551 }
16552};
16553
16554
16555struct _db_target_curs {// cursor
16556 typedef amc::FTarget ChildType;
16557 amc::FDb *parent;
16558 i64 index;
16559 _db_target_curs(){ parent=NULL; index=0; }
16560};
16561
16562
16563struct _db_targdep_curs {// cursor
16564 typedef amc::FTargdep ChildType;
16565 amc::FDb *parent;
16566 i64 index;
16567 _db_targdep_curs(){ parent=NULL; index=0; }
16568};
16569
16570
16571struct _db_dispctx_curs {// cursor
16572 typedef amc::FDispctx ChildType;
16573 amc::FDb *parent;
16574 i64 index;
16575 _db_dispctx_curs(){ parent=NULL; index=0; }
16576};
16577
16578
16579struct _db_pmaskfld_curs {// cursor
16580 typedef amc::FPmaskfld ChildType;
16581 amc::FDb *parent;
16582 i64 index;
16583 _db_pmaskfld_curs(){ parent=NULL; index=0; }
16584};
16585
16586
16587struct _db_fwddecl_curs {// cursor
16588 typedef amc::FFwddecl ChildType;
16589 amc::FDb *parent;
16590 i64 index;
16591 _db_fwddecl_curs(){ parent=NULL; index=0; }
16592};
16593
16594
16595struct _db_tfunc_curs {// cursor
16596 typedef amc::FTfunc ChildType;
16597 amc::FDb *parent;
16598 i64 index;
16599 _db_tfunc_curs(){ parent=NULL; index=0; }
16600};
16601
16602
16603struct _db_gen_curs {// cursor
16604 typedef amc::FGen ChildType;
16605 amc::FDb *parent;
16606 i64 index;
16607 _db_gen_curs(){ parent=NULL; index=0; }
16608};
16609
16610
16611struct _db_fregx_curs {// cursor
16612 typedef amc::FFregx ChildType;
16613 amc::FDb *parent;
16614 i64 index;
16615 _db_fregx_curs(){ parent=NULL; index=0; }
16616};
16617
16618
16619struct _db_tclass_curs {// cursor
16620 typedef amc::FTclass ChildType;
16621 int index;
16622 amc::FDb *parent;
16623 _db_tclass_curs() { parent=NULL; index=0; }
16624};
16625
16626
16627struct _db_fcmp_curs {// cursor
16628 typedef amc::FFcmp ChildType;
16629 amc::FDb *parent;
16630 i64 index;
16631 _db_fcmp_curs(){ parent=NULL; index=0; }
16632};
16633
16634
16635struct _db_fcast_curs {// cursor
16636 typedef amc::FFcast ChildType;
16637 amc::FDb *parent;
16638 i64 index;
16639 _db_fcast_curs(){ parent=NULL; index=0; }
16640};
16641
16642
16643struct _db_noxref_curs {// cursor
16644 typedef amc::FNoxref ChildType;
16645 amc::FDb *parent;
16646 i64 index;
16647 _db_noxref_curs(){ parent=NULL; index=0; }
16648};
16649
16650
16651struct _db_nocascdel_curs {// cursor
16652 typedef amc::FNocascdel ChildType;
16653 amc::FDb *parent;
16654 i64 index;
16655 _db_nocascdel_curs(){ parent=NULL; index=0; }
16656};
16657
16658
16659struct _db_cafter_curs {// cursor
16660 typedef amc::FCafter ChildType;
16661 amc::FDb *parent;
16662 i64 index;
16663 _db_cafter_curs(){ parent=NULL; index=0; }
16664};
16665
16666
16667struct _db_csize_curs {// cursor
16668 typedef amc::FCsize ChildType;
16669 amc::FDb *parent;
16670 i64 index;
16671 _db_csize_curs(){ parent=NULL; index=0; }
16672};
16673
16674
16675struct _db_nsx_curs {// cursor
16676 typedef amc::FNsx ChildType;
16677 amc::FDb *parent;
16678 i64 index;
16679 _db_nsx_curs(){ parent=NULL; index=0; }
16680};
16681
16682
16683struct _db_fcompact_curs {// cursor
16684 typedef amc::FFcompact ChildType;
16685 amc::FDb *parent;
16686 i64 index;
16687 _db_fcompact_curs(){ parent=NULL; index=0; }
16688};
16689
16690
16691struct _db_findrem_curs {// cursor
16692 typedef amc::FFindrem ChildType;
16693 amc::FDb *parent;
16694 i64 index;
16695 _db_findrem_curs(){ parent=NULL; index=0; }
16696};
16697
16698
16699struct _db_fcurs_curs {// cursor
16700 typedef amc::FFcurs ChildType;
16701 amc::FDb *parent;
16702 i64 index;
16703 _db_fcurs_curs(){ parent=NULL; index=0; }
16704};
16705
16706
16707struct _db_cdflt_curs {// cursor
16708 typedef amc::FCdflt ChildType;
16709 amc::FDb *parent;
16710 i64 index;
16711 _db_cdflt_curs(){ parent=NULL; index=0; }
16712};
16713
16714
16715struct _db_argvtype_curs {// cursor
16716 typedef amc::FArgvtype ChildType;
16717 amc::FDb *parent;
16718 i64 index;
16719 _db_argvtype_curs(){ parent=NULL; index=0; }
16720};
16721
16722
16723struct _db_fcmdline_curs {// cursor
16724 typedef amc::FFcmdline ChildType;
16725 amc::FDb *parent;
16726 i64 index;
16727 _db_fcmdline_curs(){ parent=NULL; index=0; }
16728};
16729
16730
16731struct _db_floadtuples_curs {// cursor
16732 typedef amc::FFloadtuples ChildType;
16733 amc::FDb *parent;
16734 i64 index;
16735 _db_floadtuples_curs(){ parent=NULL; index=0; }
16736};
16737
16738
16739struct _db_fcmap_curs {// cursor
16740 typedef amc::FFcmap ChildType;
16741 amc::FDb *parent;
16742 i64 index;
16743 _db_fcmap_curs(){ parent=NULL; index=0; }
16744};
16745
16746
16747struct _db_zs_ordkeyfield_curs {// fcurs:amc.FDb.zs_ordkeyfield/curs
16748 typedef amc::FField ChildType;
16749 amc::FField* row;
16750 _db_zs_ordkeyfield_curs() {
16751 row = NULL;
16752 }
16753};
16754
16755
16756struct _db_nsproto_curs {// cursor
16757 typedef amc::FNsproto ChildType;
16758 amc::FDb *parent;
16759 i64 index;
16760 _db_nsproto_curs(){ parent=NULL; index=0; }
16761};
16762
16763
16764struct _db_nsdb_curs {// cursor
16765 typedef amc::FNsdb ChildType;
16766 amc::FDb *parent;
16767 i64 index;
16768 _db_nsdb_curs(){ parent=NULL; index=0; }
16769};
16770
16771
16772struct _db_zd_substr_params_curs {// fcurs:amc.FDb.zd_substr_params/curs
16773 typedef amc::FSubstr ChildType;
16774 amc::FSubstr* row;
16775 _db_zd_substr_params_curs() {
16776 row = NULL;
16777 }
16778};
16779
16780
16781struct _db_fprefix_curs {// cursor
16782 typedef amc::FFprefix ChildType;
16783 amc::FDb *parent;
16784 i64 index;
16785 _db_fprefix_curs(){ parent=NULL; index=0; }
16786};
16787
16788
16789struct _db_ftrace_curs {// cursor
16790 typedef amc::FFtrace ChildType;
16791 amc::FDb *parent;
16792 i64 index;
16793 _db_ftrace_curs(){ parent=NULL; index=0; }
16794};
16795
16796
16797struct _db_fnoremove_curs {// cursor
16798 typedef amc::FFnoremove ChildType;
16799 amc::FDb *parent;
16800 i64 index;
16801 _db_fnoremove_curs(){ parent=NULL; index=0; }
16802};
16803
16804
16805struct _db_c_substr_field_curs {// fcurs:amc.FDb.c_substr_field/curs
16806 typedef amc::FSubstr ChildType;
16807 amc::FSubstr** elems;
16808 u32 n_elems;
16809 u32 index;
16810 _db_c_substr_field_curs() { elems=NULL; n_elems=0; index=0; }
16811};
16812
16813
16814struct _db_ctypelen_curs {// cursor
16815 typedef amc::FCtypelen ChildType;
16816 amc::FDb *parent;
16817 i64 index;
16818 _db_ctypelen_curs(){ parent=NULL; index=0; }
16819};
16820
16821
16822struct _db_c_ctypelen_curs {// fcurs:amc.FDb.c_ctypelen/curs
16823 typedef amc::FCtypelen ChildType;
16824 amc::FCtypelen** elems;
16825 u32 n_elems;
16826 u32 index;
16827 _db_c_ctypelen_curs() { elems=NULL; n_elems=0; index=0; }
16828};
16829
16830
16831struct _db_c_tempfield_curs {// fcurs:amc.FDb.c_tempfield/curs
16832 typedef amc::FField ChildType;
16833 amc::FField** elems;
16834 u32 n_elems;
16835 u32 index;
16836 _db_c_tempfield_curs() { elems=NULL; n_elems=0; index=0; }
16837};
16838
16839
16840struct _db_fbase_curs {// cursor
16841 typedef amc::FFbase ChildType;
16842 amc::FDb *parent;
16843 i64 index;
16844 _db_fbase_curs(){ parent=NULL; index=0; }
16845};
16846
16847
16848struct _db_nossimfile_curs {// cursor
16849 typedef amc::FNossimfile ChildType;
16850 amc::FDb *parent;
16851 i64 index;
16852 _db_nossimfile_curs(){ parent=NULL; index=0; }
16853};
16854
16855
16856struct _db_gsymbol_curs {// cursor
16857 typedef amc::FGsymbol ChildType;
16858 amc::FDb *parent;
16859 i64 index;
16860 _db_gsymbol_curs(){ parent=NULL; index=0; }
16861};
16862
16863
16864struct _db_sortfld_curs {// cursor
16865 typedef amc::FSortfld ChildType;
16866 amc::FDb *parent;
16867 i64 index;
16868 _db_sortfld_curs(){ parent=NULL; index=0; }
16869};
16870
16871
16872struct _db_cget_curs {// cursor
16873 typedef amc::FCget ChildType;
16874 amc::FDb *parent;
16875 i64 index;
16876 _db_cget_curs(){ parent=NULL; index=0; }
16877};
16878
16879
16880struct _db_cd_temp_func_curs {// fcurs:amc.FDb.cd_temp_func/curs
16881 typedef amc::FFunc ChildType;
16882 amc::FFunc* row;
16883 amc::FFunc** head; // address of head element
16884 _db_cd_temp_func_curs() {
16885 row = NULL;
16886 head = NULL;
16887 }
16888};
16889
16890
16891struct _db_zs_gen_perns_curs {// fcurs:amc.FDb.zs_gen_perns/curs
16892 typedef amc::FGen ChildType;
16893 amc::FGen* row;
16894 _db_zs_gen_perns_curs() {
16895 row = NULL;
16896 }
16897};
16898
16899
16900struct _db_hook_curs {// cursor
16901 typedef amc::FHook ChildType;
16902 amc::FDb *parent;
16903 i64 index;
16904 _db_hook_curs(){ parent=NULL; index=0; }
16905};
16906
16907
16908struct _db_charset_curs {// cursor
16909 typedef amc::FCharset ChildType;
16910 amc::FDb *parent;
16911 i64 index;
16912 _db_charset_curs(){ parent=NULL; index=0; }
16913};
16914
16915
16916struct _db_nsinclude_curs {// cursor
16917 typedef amc::FNsinclude ChildType;
16918 amc::FDb *parent;
16919 i64 index;
16920 _db_nsinclude_curs(){ parent=NULL; index=0; }
16921};
16922
16923
16924struct _db_ssimvolatile_curs {// cursor
16925 typedef amc::FSsimvolatile ChildType;
16926 amc::FDb *parent;
16927 i64 index;
16928 _db_ssimvolatile_curs(){ parent=NULL; index=0; }
16929};
16930
16931
16932struct _db_funique_curs {// cursor
16933 typedef amc::FFunique ChildType;
16934 amc::FDb *parent;
16935 i64 index;
16936 _db_funique_curs(){ parent=NULL; index=0; }
16937};
16938
16939
16940struct _db_fuserinit_curs {// cursor
16941 typedef amc::FFuserinit ChildType;
16942 amc::FDb *parent;
16943 i64 index;
16944 _db_fuserinit_curs(){ parent=NULL; index=0; }
16945};
16946
16947
16948struct _db_tcurs_curs {// cursor
16949 typedef amc::FTcurs ChildType;
16950 amc::FDb *parent;
16951 i64 index;
16952 _db_tcurs_curs(){ parent=NULL; index=0; }
16953};
16954
16955
16956struct _db_nscpp_curs {// cursor
16957 typedef amc::FNscpp ChildType;
16958 amc::FDb *parent;
16959 i64 index;
16960 _db_nscpp_curs(){ parent=NULL; index=0; }
16961};
16962
16963
16964struct _db_fflag_curs {// cursor
16965 typedef amc::FFflag ChildType;
16966 amc::FDb *parent;
16967 i64 index;
16968 _db_fflag_curs(){ parent=NULL; index=0; }
16969};
16970
16971
16972struct _db_falias_curs {// cursor
16973 typedef amc::FFalias ChildType;
16974 amc::FDb *parent;
16975 i64 index;
16976 _db_falias_curs(){ parent=NULL; index=0; }
16977};
16978
16979
16980struct _db_license_curs {// cursor
16981 typedef amc::FLicense ChildType;
16982 amc::FDb *parent;
16983 i64 index;
16984 _db_license_curs(){ parent=NULL; index=0; }
16985};
16986
16987
16988struct _db_c_ssimfile_sorted_curs {// fcurs:amc.FDb.c_ssimfile_sorted/curs
16989 typedef amc::FSsimfile ChildType;
16990 amc::FSsimfile** elems;
16991 u32 n_elems;
16992 u32 index;
16993 _db_c_ssimfile_sorted_curs() { elems=NULL; n_elems=0; index=0; }
16994};
16995
16996
16997struct _db_zd_ssimfile_todo_curs {// fcurs:amc.FDb.zd_ssimfile_todo/curs
16998 typedef amc::FSsimfile ChildType;
16999 amc::FSsimfile* row;
17000 _db_zd_ssimfile_todo_curs() {
17001 row = NULL;
17002 }
17003};
17004
17005
17006struct _db_cfast_curs {// cursor
17007 typedef amc::FCfast ChildType;
17008 amc::FDb *parent;
17009 i64 index;
17010 _db_cfast_curs(){ parent=NULL; index=0; }
17011};
17012
17013
17014struct _db_ffast_curs {// cursor
17015 typedef amc::FFfast ChildType;
17016 amc::FDb *parent;
17017 i64 index;
17018 _db_ffast_curs(){ parent=NULL; index=0; }
17019};
17020
17021
17022struct _db_pmaskfld_member_curs {// cursor
17023 typedef amc::FPmaskfldMember ChildType;
17024 amc::FDb *parent;
17025 i64 index;
17026 _db_pmaskfld_member_curs(){ parent=NULL; index=0; }
17027};
17028
17029
17030struct _db_ssimsort_curs {// cursor
17031 typedef amc::FSsimsort ChildType;
17032 amc::FDb *parent;
17033 i64 index;
17034 _db_ssimsort_curs(){ parent=NULL; index=0; }
17035};
17036
17037
17038struct dispatch_c_dispatch_msg_curs {// fcurs:amc.FDispatch.c_dispatch_msg/curs
17039 typedef amc::FDispatchmsg ChildType;
17040 amc::FDispatchmsg** elems;
17041 u32 n_elems;
17042 u32 index;
17043 dispatch_c_dispatch_msg_curs() { elems=NULL; n_elems=0; index=0; }
17044};
17045
17046
17047struct enumstr_c_fconst_curs {// fcurs:amc.FEnumstr.c_fconst/curs
17048 typedef amc::FFconst ChildType;
17049 amc::FFconst** elems;
17050 u32 n_elems;
17051 u32 index;
17052 enumstr_c_fconst_curs() { elems=NULL; n_elems=0; index=0; }
17053};
17054
17055// Non-destructive heap cursor, returns heap elements in sorted order.
17056// A running front of potential smallest entries is kept in the helper heap (curs.temp_%)
17057struct enumstr_len_bh_enumstr_curs {
17058 typedef amc::FEnumstr ChildType;
17059 amc::FEnumstrLen *parent; // parent
17060 amc::FEnumstr* *temp_elems; // helper heap
17061 int temp_n; // number of elements heaped in the helper heap
17062 int temp_max; // max number of elements possible in the helper heap
17063 enumstr_len_bh_enumstr_curs() : parent(NULL), temp_elems(NULL), temp_n(0), temp_max(0) {}
17064 ~enumstr_len_bh_enumstr_curs();
17065};
17066
17067
17068struct field_c_ffunc_curs {// fcurs:amc.FField.c_ffunc/curs
17069 typedef amc::FFunc ChildType;
17070 amc::FFunc** elems;
17071 u32 n_elems;
17072 u32 index;
17073 field_c_ffunc_curs() { elems=NULL; n_elems=0; index=0; }
17074};
17075
17076
17077struct field_c_fconst_curs {// fcurs:amc.FField.c_fconst/curs
17078 typedef amc::FFconst ChildType;
17079 amc::FFconst** elems;
17080 u32 n_elems;
17081 u32 index;
17082 field_c_fconst_curs() { elems=NULL; n_elems=0; index=0; }
17083};
17084
17085
17086struct field_zd_xref_keyfld_curs {// fcurs:amc.FField.zd_xref_keyfld/curs
17087 typedef amc::FXref ChildType;
17088 amc::FXref* row;
17089 field_zd_xref_keyfld_curs() {
17090 row = NULL;
17091 }
17092};
17093
17094
17095struct field_zs_fcmap_curs {// fcurs:amc.FField.zs_fcmap/curs
17096 typedef amc::FFcmap ChildType;
17097 amc::FFcmap* row;
17098 field_zs_fcmap_curs() {
17099 row = NULL;
17100 }
17101};
17102
17103// Non-destructive heap cursor, returns heap elements in sorted order.
17104// A running front of potential smallest entries is kept in the helper heap (curs.temp_%)
17105struct field_bh_bitfld_curs {
17106 typedef amc::FBitfld ChildType;
17107 amc::FField *parent; // parent
17108 amc::FBitfld* *temp_elems; // helper heap
17109 int temp_n; // number of elements heaped in the helper heap
17110 int temp_max; // max number of elements possible in the helper heap
17111 field_bh_bitfld_curs() : parent(NULL), temp_elems(NULL), temp_n(0), temp_max(0) {}
17112 ~field_bh_bitfld_curs();
17113};
17114
17115
17116struct field_c_ffast_curs {// fcurs:amc.FField.c_ffast/curs
17117 typedef amc::FFfast ChildType;
17118 amc::FFfast** elems;
17119 u32 n_elems;
17120 u32 index;
17121 field_c_ffast_curs() { elems=NULL; n_elems=0; index=0; }
17122};
17123
17124
17125struct field_c_pmaskfld_member_curs {// fcurs:amc.FField.c_pmaskfld_member/curs
17126 typedef amc::FPmaskfldMember ChildType;
17127 amc::FPmaskfldMember** elems;
17128 u32 n_elems;
17129 u32 index;
17130 field_c_pmaskfld_member_curs() { elems=NULL; n_elems=0; index=0; }
17131};
17132
17133
17134struct func_funcarg_curs {// cursor
17135 typedef amc::Funcarg ChildType;
17136 amc::Funcarg* elems;
17137 int n_elems;
17138 int index;
17139 func_funcarg_curs() { elems=NULL; n_elems=0; index=0; }
17140};
17141
17142
17143struct FGenXref_seen_curs {// cursor
17144 typedef amc::FGenXrefSeen ChildType;
17145 amc::FGenXref *parent;
17146 i64 index;
17147 FGenXref_seen_curs(){ parent=NULL; index=0; }
17148};
17149
17150
17151struct ns_c_ctype_curs {// fcurs:amc.FNs.c_ctype/curs
17152 typedef amc::FCtype ChildType;
17153 amc::FCtype** elems;
17154 u32 n_elems;
17155 u32 index;
17156 ns_c_ctype_curs() { elems=NULL; n_elems=0; index=0; }
17157};
17158
17159
17160struct ns_c_func_curs {// fcurs:amc.FNs.c_func/curs
17161 typedef amc::FFunc ChildType;
17162 amc::FFunc** elems;
17163 u32 n_elems;
17164 u32 index;
17165 ns_c_func_curs() { elems=NULL; n_elems=0; index=0; }
17166};
17167
17168
17169struct ns_c_dispatch_curs {// fcurs:amc.FNs.c_dispatch/curs
17170 typedef amc::FDispatch ChildType;
17171 amc::FDispatch** elems;
17172 u32 n_elems;
17173 u32 index;
17174 ns_c_dispatch_curs() { elems=NULL; n_elems=0; index=0; }
17175};
17176
17177
17178struct ns_c_gstatic_curs {// fcurs:amc.FNs.c_gstatic/curs
17179 typedef amc::FGstatic ChildType;
17180 amc::FGstatic** elems;
17181 u32 n_elems;
17182 u32 index;
17183 ns_c_gstatic_curs() { elems=NULL; n_elems=0; index=0; }
17184};
17185
17186
17187struct ns_include_curs {// cursor
17188 typedef algo::cstring ChildType;
17189 algo::cstring* elems;
17190 int n_elems;
17191 int index;
17192 ns_include_curs() { elems=NULL; n_elems=0; index=0; }
17193};
17194
17195
17196struct ns_c_dispsig_curs {// fcurs:amc.FNs.c_dispsig/curs
17197 typedef amc::FDispsig ChildType;
17198 amc::FDispsig** elems;
17199 u32 n_elems;
17200 u32 index;
17201 ns_c_dispsig_curs() { elems=NULL; n_elems=0; index=0; }
17202};
17203
17204
17205struct ns_c_parentns_curs {// fcurs:amc.FNs.c_parentns/curs
17206 typedef amc::FNs ChildType;
17207 amc::FNs** elems;
17208 u32 n_elems;
17209 u32 index;
17210 ns_c_parentns_curs() { elems=NULL; n_elems=0; index=0; }
17211};
17212
17213
17214struct ns_c_cppincl_curs {// fcurs:amc.FNs.c_cppincl/curs
17215 typedef amc::FNs ChildType;
17216 amc::FNs** elems;
17217 u32 n_elems;
17218 u32 index;
17219 ns_c_cppincl_curs() { elems=NULL; n_elems=0; index=0; }
17220};
17221
17222
17223struct ns_c_hdrincl_curs {// fcurs:amc.FNs.c_hdrincl/curs
17224 typedef amc::FNs ChildType;
17225 amc::FNs** elems;
17226 u32 n_elems;
17227 u32 index;
17228 ns_c_hdrincl_curs() { elems=NULL; n_elems=0; index=0; }
17229};
17230
17231
17232struct ns_c_fwddecl_curs {// fcurs:amc.FNs.c_fwddecl/curs
17233 typedef amc::FFwddecl ChildType;
17234 amc::FFwddecl** elems;
17235 u32 n_elems;
17236 u32 index;
17237 ns_c_fwddecl_curs() { elems=NULL; n_elems=0; index=0; }
17238};
17239
17240
17241struct ns_c_pnew_curs {// fcurs:amc.FNs.c_pnew/curs
17242 typedef amc::FPnew ChildType;
17243 amc::FPnew** elems;
17244 u32 n_elems;
17245 u32 index;
17246 ns_c_pnew_curs() { elems=NULL; n_elems=0; index=0; }
17247};
17248
17249
17250struct ns_c_outfile_curs {// fcurs:amc.FNs.c_outfile/curs
17251 typedef amc::FOutfile ChildType;
17252 amc::FOutfile** elems;
17253 u32 n_elems;
17254 u32 index;
17255 ns_c_outfile_curs() { elems=NULL; n_elems=0; index=0; }
17256};
17257
17258
17259struct ns_c_foutput_curs {// fcurs:amc.FNs.c_foutput/curs
17260 typedef amc::FFoutput ChildType;
17261 amc::FFoutput** elems;
17262 u32 n_elems;
17263 u32 index;
17264 ns_c_foutput_curs() { elems=NULL; n_elems=0; index=0; }
17265};
17266
17267
17268struct ns_c_fstep_curs {// fcurs:amc.FNs.c_fstep/curs
17269 typedef amc::FFstep ChildType;
17270 amc::FFstep** elems;
17271 u32 n_elems;
17272 u32 index;
17273 ns_c_fstep_curs() { elems=NULL; n_elems=0; index=0; }
17274};
17275
17276
17277struct ns_c_gsymbol_curs {// fcurs:amc.FNs.c_gsymbol/curs
17278 typedef amc::FGsymbol ChildType;
17279 amc::FGsymbol** elems;
17280 u32 n_elems;
17281 u32 index;
17282 ns_c_gsymbol_curs() { elems=NULL; n_elems=0; index=0; }
17283};
17284
17285
17286struct ns_c_nsinclude_curs {// fcurs:amc.FNs.c_nsinclude/curs
17287 typedef amc::FNsinclude ChildType;
17288 amc::FNsinclude** elems;
17289 u32 n_elems;
17290 u32 index;
17291 ns_c_nsinclude_curs() { elems=NULL; n_elems=0; index=0; }
17292};
17293
17294
17295struct pmaskfld_c_pmaskfld_member_curs {// fcurs:amc.FPmaskfld.c_pmaskfld_member/curs
17296 typedef amc::FPmaskfldMember ChildType;
17297 amc::FPmaskfldMember** elems;
17298 u32 n_elems;
17299 u32 index;
17300 pmaskfld_c_pmaskfld_member_curs() { elems=NULL; n_elems=0; index=0; }
17301};
17302
17303
17304struct reftype_zs_fprefix_curs {// fcurs:amc.FReftype.zs_fprefix/curs
17305 typedef amc::FFprefix ChildType;
17306 amc::FFprefix* row;
17307 reftype_zs_fprefix_curs() {
17308 row = NULL;
17309 }
17310};
17311
17312
17313struct target_c_targdep_curs {// fcurs:amc.FTarget.c_targdep/curs
17314 typedef amc::FTargdep ChildType;
17315 amc::FTargdep** elems;
17316 u32 n_elems;
17317 u32 index;
17318 target_c_targdep_curs() { elems=NULL; n_elems=0; index=0; }
17319};
17320
17321} // gen:ns_curstext
17322namespace amc { // gen:ns_func
17323// User-implemented function from gstatic:amc.FDb.tclass
17324// func:amc...tclass_Alias
17325// this function is 'extrn' and implemented by user
17326void tclass_Alias();
17327// User-implemented function from gstatic:amc.FDb.tclass
17328// func:amc...tclass_Atree
17329// this function is 'extrn' and implemented by user
17330void tclass_Atree();
17331// User-implemented function from gstatic:amc.FDb.tclass
17332// func:amc...tclass_Base
17333// this function is 'extrn' and implemented by user
17334void tclass_Base();
17335// User-implemented function from gstatic:amc.FDb.tclass
17336// func:amc...tclass_Bheap
17337// this function is 'extrn' and implemented by user
17338void tclass_Bheap();
17339// User-implemented function from gstatic:amc.FDb.tclass
17340// func:amc...tclass_Bitfld
17341// this function is 'extrn' and implemented by user
17342void tclass_Bitfld();
17343// User-implemented function from gstatic:amc.FDb.tclass
17344// func:amc...tclass_Bitset
17345// this function is 'extrn' and implemented by user
17346void tclass_Bitset();
17347// User-implemented function from gstatic:amc.FDb.tclass
17348// func:amc...tclass_Blkpool
17349// this function is 'extrn' and implemented by user
17350void tclass_Blkpool();
17351// User-implemented function from gstatic:amc.FDb.tclass
17352// func:amc...tclass_Charset
17353// this function is 'extrn' and implemented by user
17354void tclass_Charset();
17355// User-implemented function from gstatic:amc.FDb.tclass
17356// func:amc...tclass_Cmp
17357// this function is 'extrn' and implemented by user
17358void tclass_Cmp();
17359// User-implemented function from gstatic:amc.FDb.tclass
17360// func:amc...tclass_Count
17361// this function is 'extrn' and implemented by user
17362void tclass_Count();
17363// User-implemented function from gstatic:amc.FDb.tclass
17364// func:amc...tclass_Cppfunc
17365// this function is 'extrn' and implemented by user
17366void tclass_Cppfunc();
17367// User-implemented function from gstatic:amc.FDb.tclass
17368// func:amc...tclass_Cppstack
17369// this function is 'extrn' and implemented by user
17370void tclass_Cppstack();
17371// User-implemented function from gstatic:amc.FDb.tclass
17372// func:amc...tclass_Ctype
17373// this function is 'extrn' and implemented by user
17374void tclass_Ctype();
17375// User-implemented function from gstatic:amc.FDb.tclass
17376// func:amc...tclass_Dec
17377// this function is 'extrn' and implemented by user
17378void tclass_Dec();
17379// User-implemented function from gstatic:amc.FDb.tclass
17380// func:amc...tclass_Delptr
17381// this function is 'extrn' and implemented by user
17382void tclass_Delptr();
17383// User-implemented function from gstatic:amc.FDb.tclass
17384// func:amc...tclass_Exec
17385// this function is 'extrn' and implemented by user
17386void tclass_Exec();
17387// User-implemented function from gstatic:amc.FDb.tclass
17388// func:amc...tclass_Fbuf
17389// this function is 'extrn' and implemented by user
17390void tclass_Fbuf();
17391// User-implemented function from gstatic:amc.FDb.tclass
17392// func:amc...tclass_Fcast
17393// this function is 'extrn' and implemented by user
17394void tclass_Fcast();
17395// User-implemented function from gstatic:amc.FDb.tclass
17396// func:amc...tclass_Fconst
17397// this function is 'extrn' and implemented by user
17398void tclass_Fconst();
17399// User-implemented function from gstatic:amc.FDb.tclass
17400// func:amc...tclass_Field
17401// this function is 'extrn' and implemented by user
17402void tclass_Field();
17403// User-implemented function from gstatic:amc.FDb.tclass
17404// func:amc...tclass_Field2
17405// this function is 'extrn' and implemented by user
17406void tclass_Field2();
17407// User-implemented function from gstatic:amc.FDb.tclass
17408// func:amc...tclass_Global
17409// this function is 'extrn' and implemented by user
17410void tclass_Global();
17411// User-implemented function from gstatic:amc.FDb.tclass
17412// func:amc...tclass_Hook
17413// this function is 'extrn' and implemented by user
17414void tclass_Hook();
17415// User-implemented function from gstatic:amc.FDb.tclass
17416// func:amc...tclass_Inlary
17417// this function is 'extrn' and implemented by user
17418void tclass_Inlary();
17419// User-implemented function from gstatic:amc.FDb.tclass
17420// func:amc...tclass_Io
17421// this function is 'extrn' and implemented by user
17422void tclass_Io();
17423// User-implemented function from gstatic:amc.FDb.tclass
17424// func:amc...tclass_Lary
17425// this function is 'extrn' and implemented by user
17426void tclass_Lary();
17427// User-implemented function from gstatic:amc.FDb.tclass
17428// func:amc...tclass_Llist
17429// this function is 'extrn' and implemented by user
17430void tclass_Llist();
17431// User-implemented function from gstatic:amc.FDb.tclass
17432// func:amc...tclass_Lpool
17433// this function is 'extrn' and implemented by user
17434void tclass_Lpool();
17435// User-implemented function from gstatic:amc.FDb.tclass
17436// func:amc...tclass_Malloc
17437// this function is 'extrn' and implemented by user
17438void tclass_Malloc();
17439// User-implemented function from gstatic:amc.FDb.tclass
17440// func:amc...tclass_Ns
17441// this function is 'extrn' and implemented by user
17442void tclass_Ns();
17443// User-implemented function from gstatic:amc.FDb.tclass
17444// func:amc...tclass_Numstr
17445// this function is 'extrn' and implemented by user
17446void tclass_Numstr();
17447// User-implemented function from gstatic:amc.FDb.tclass
17448// func:amc...tclass_Opt
17449// this function is 'extrn' and implemented by user
17450void tclass_Opt();
17451// User-implemented function from gstatic:amc.FDb.tclass
17452// func:amc...tclass_Pkey
17453// this function is 'extrn' and implemented by user
17454void tclass_Pkey();
17455// User-implemented function from gstatic:amc.FDb.tclass
17456// func:amc...tclass_Pmask
17457// this function is 'extrn' and implemented by user
17458void tclass_Pmask();
17459// User-implemented function from gstatic:amc.FDb.tclass
17460// func:amc...tclass_Pool
17461// this function is 'extrn' and implemented by user
17462void tclass_Pool();
17463// User-implemented function from gstatic:amc.FDb.tclass
17464// func:amc...tclass_Ptr
17465// this function is 'extrn' and implemented by user
17466void tclass_Ptr();
17467// User-implemented function from gstatic:amc.FDb.tclass
17468// func:amc...tclass_Ptrary
17469// this function is 'extrn' and implemented by user
17470void tclass_Ptrary();
17471// User-implemented function from gstatic:amc.FDb.tclass
17472// func:amc...tclass_Regx
17473// this function is 'extrn' and implemented by user
17474void tclass_Regx();
17475// User-implemented function from gstatic:amc.FDb.tclass
17476// func:amc...tclass_RegxSql
17477// this function is 'extrn' and implemented by user
17478void tclass_RegxSql();
17479// User-implemented function from gstatic:amc.FDb.tclass
17480// func:amc...tclass_Sbrk
17481// this function is 'extrn' and implemented by user
17482void tclass_Sbrk();
17483// User-implemented function from gstatic:amc.FDb.tclass
17484// func:amc...tclass_Smallstr
17485// this function is 'extrn' and implemented by user
17486void tclass_Smallstr();
17487// User-implemented function from gstatic:amc.FDb.tclass
17488// func:amc...tclass_Sort
17489// this function is 'extrn' and implemented by user
17490void tclass_Sort();
17491// User-implemented function from gstatic:amc.FDb.tclass
17492// func:amc...tclass_Step
17493// this function is 'extrn' and implemented by user
17494void tclass_Step();
17495// User-implemented function from gstatic:amc.FDb.tclass
17496// func:amc...tclass_Substr
17497// this function is 'extrn' and implemented by user
17498void tclass_Substr();
17499// User-implemented function from gstatic:amc.FDb.tclass
17500// func:amc...tclass_Tary
17501// this function is 'extrn' and implemented by user
17502void tclass_Tary();
17503// User-implemented function from gstatic:amc.FDb.tclass
17504// func:amc...tclass_Thash
17505// this function is 'extrn' and implemented by user
17506void tclass_Thash();
17507// User-implemented function from gstatic:amc.FDb.tclass
17508// func:amc...tclass_Tpool
17509// this function is 'extrn' and implemented by user
17510void tclass_Tpool();
17511// User-implemented function from gstatic:amc.FDb.tclass
17512// func:amc...tclass_Upptr
17513// this function is 'extrn' and implemented by user
17514void tclass_Upptr();
17515// User-implemented function from gstatic:amc.FDb.tclass
17516// func:amc...tclass_Val
17517// this function is 'extrn' and implemented by user
17518void tclass_Val();
17519// User-implemented function from gstatic:amc.FDb.tclass
17520// func:amc...tclass_Varlen
17521// this function is 'extrn' and implemented by user
17522void tclass_Varlen();
17523// User-implemented function from gstatic:amc.FDb.tclass
17524// func:amc...tclass_ZSListMT
17525// this function is 'extrn' and implemented by user
17526void tclass_ZSListMT();
17527// User-implemented function from gstatic:amc.FDb.tfunc
17528// func:amc...tfunc_Alias_Get
17529// this function is 'extrn' and implemented by user
17530void tfunc_Alias_Get();
17531// User-implemented function from gstatic:amc.FDb.tfunc
17532// func:amc...tfunc_Alias_Set
17533// this function is 'extrn' and implemented by user
17534void tfunc_Alias_Set();
17535// User-implemented function from gstatic:amc.FDb.tfunc
17536// func:amc...tfunc_Alias_ReadStrptrMaybe
17537// this function is 'extrn' and implemented by user
17538void tfunc_Alias_ReadStrptrMaybe();
17539// User-implemented function from gstatic:amc.FDb.tfunc
17540// func:amc...tfunc_Atree_Cascdel
17541// this function is 'extrn' and implemented by user
17542void tfunc_Atree_Cascdel();
17543// User-implemented function from gstatic:amc.FDb.tfunc
17544// func:amc...tfunc_Atree_EmptyQ
17545// this function is 'extrn' and implemented by user
17546void tfunc_Atree_EmptyQ();
17547// User-implemented function from gstatic:amc.FDb.tfunc
17548// func:amc...tfunc_Atree_FirstImpl
17549// this function is 'extrn' and implemented by user
17550void tfunc_Atree_FirstImpl();
17551// User-implemented function from gstatic:amc.FDb.tfunc
17552// func:amc...tfunc_Atree_First
17553// this function is 'extrn' and implemented by user
17554void tfunc_Atree_First();
17555// User-implemented function from gstatic:amc.FDb.tfunc
17556// func:amc...tfunc_Atree_InTreeQ
17557// this function is 'extrn' and implemented by user
17558void tfunc_Atree_InTreeQ();
17559// User-implemented function from gstatic:amc.FDb.tfunc
17560// func:amc...tfunc_Atree_Init
17561// this function is 'extrn' and implemented by user
17562void tfunc_Atree_Init();
17563// User-implemented function from gstatic:amc.FDb.tfunc
17564// func:amc...tfunc_Atree_InsertImpl
17565// this function is 'extrn' and implemented by user
17566void tfunc_Atree_InsertImpl();
17567// User-implemented function from gstatic:amc.FDb.tfunc
17568// func:amc...tfunc_Atree_Insert
17569// this function is 'extrn' and implemented by user
17570void tfunc_Atree_Insert();
17571// User-implemented function from gstatic:amc.FDb.tfunc
17572// func:amc...tfunc_Atree_Remove
17573// this function is 'extrn' and implemented by user
17574void tfunc_Atree_Remove();
17575// User-implemented function from gstatic:amc.FDb.tfunc
17576// func:amc...tfunc_Atree_RemoveAll
17577// this function is 'extrn' and implemented by user
17578void tfunc_Atree_RemoveAll();
17579// User-implemented function from gstatic:amc.FDb.tfunc
17580// func:amc...tfunc_Atree_RemoveFirst
17581// this function is 'extrn' and implemented by user
17582void tfunc_Atree_RemoveFirst();
17583// User-implemented function from gstatic:amc.FDb.tfunc
17584// func:amc...tfunc_Atree_Balance
17585// this function is 'extrn' and implemented by user
17586void tfunc_Atree_Balance();
17587// User-implemented function from gstatic:amc.FDb.tfunc
17588// func:amc...tfunc_Atree_Propagate
17589// this function is 'extrn' and implemented by user
17590void tfunc_Atree_Propagate();
17591// User-implemented function from gstatic:amc.FDb.tfunc
17592// func:amc...tfunc_Atree_TallerChild
17593// this function is 'extrn' and implemented by user
17594void tfunc_Atree_TallerChild();
17595// User-implemented function from gstatic:amc.FDb.tfunc
17596// func:amc...tfunc_Atree_Disconnect
17597// this function is 'extrn' and implemented by user
17598void tfunc_Atree_Disconnect();
17599// User-implemented function from gstatic:amc.FDb.tfunc
17600// func:amc...tfunc_Atree_Rebalance
17601// this function is 'extrn' and implemented by user
17602void tfunc_Atree_Rebalance();
17603// User-implemented function from gstatic:amc.FDb.tfunc
17604// func:amc...tfunc_Atree_Next
17605// this function is 'extrn' and implemented by user
17606void tfunc_Atree_Next();
17607// User-implemented function from gstatic:amc.FDb.tfunc
17608// func:amc...tfunc_Atree_Prev
17609// this function is 'extrn' and implemented by user
17610void tfunc_Atree_Prev();
17611// User-implemented function from gstatic:amc.FDb.tfunc
17612// func:amc...tfunc_Atree_LastImpl
17613// this function is 'extrn' and implemented by user
17614void tfunc_Atree_LastImpl();
17615// User-implemented function from gstatic:amc.FDb.tfunc
17616// func:amc...tfunc_Atree_Last
17617// this function is 'extrn' and implemented by user
17618void tfunc_Atree_Last();
17619// User-implemented function from gstatic:amc.FDb.tfunc
17620// func:amc...tfunc_Atree_ElemLt
17621// this function is 'extrn' and implemented by user
17622void tfunc_Atree_ElemLt();
17623// User-implemented function from gstatic:amc.FDb.tfunc
17624// func:amc...tfunc_Atree_UpdateDepth
17625// this function is 'extrn' and implemented by user
17626void tfunc_Atree_UpdateDepth();
17627// User-implemented function from gstatic:amc.FDb.tfunc
17628// func:amc...tfunc_Atree_Turn
17629// this function is 'extrn' and implemented by user
17630void tfunc_Atree_Turn();
17631// User-implemented function from gstatic:amc.FDb.tfunc
17632// func:amc...tfunc_Atree_Connect
17633// this function is 'extrn' and implemented by user
17634void tfunc_Atree_Connect();
17635// User-implemented function from gstatic:amc.FDb.tfunc
17636// func:amc...tfunc_Atree_curs
17637// this function is 'extrn' and implemented by user
17638void tfunc_Atree_curs();
17639// User-implemented function from gstatic:amc.FDb.tfunc
17640// func:amc...tfunc_Atree_RemoveAllImpl
17641// this function is 'extrn' and implemented by user
17642void tfunc_Atree_RemoveAllImpl();
17643// User-implemented function from gstatic:amc.FDb.tfunc
17644// func:amc...tfunc_Atree_Reinsert
17645// this function is 'extrn' and implemented by user
17646void tfunc_Atree_Reinsert();
17647// User-implemented function from gstatic:amc.FDb.tfunc
17648// func:amc...tfunc_Atree_FirstGe
17649// this function is 'extrn' and implemented by user
17650void tfunc_Atree_FirstGe();
17651// User-implemented function from gstatic:amc.FDb.tfunc
17652// func:amc...tfunc_Atree_LastLt
17653// this function is 'extrn' and implemented by user
17654void tfunc_Atree_LastLt();
17655// User-implemented function from gstatic:amc.FDb.tfunc
17656// func:amc...tfunc_Base_CopyOut
17657// this function is 'extrn' and implemented by user
17658void tfunc_Base_CopyOut();
17659// User-implemented function from gstatic:amc.FDb.tfunc
17660// func:amc...tfunc_Base_Castdown
17661// this function is 'extrn' and implemented by user
17662void tfunc_Base_Castdown();
17663// User-implemented function from gstatic:amc.FDb.tfunc
17664// func:amc...tfunc_Base_Castbase
17665// this function is 'extrn' and implemented by user
17666void tfunc_Base_Castbase();
17667// User-implemented function from gstatic:amc.FDb.tfunc
17668// func:amc...tfunc_Base_CopyIn
17669// this function is 'extrn' and implemented by user
17670void tfunc_Base_CopyIn();
17671// User-implemented function from gstatic:amc.FDb.tfunc
17672// func:amc...tfunc_Bheap_Cascdel
17673// this function is 'extrn' and implemented by user
17674void tfunc_Bheap_Cascdel();
17675// User-implemented function from gstatic:amc.FDb.tfunc
17676// func:amc...tfunc_Bheap_Compact
17677// this function is 'extrn' and implemented by user
17678void tfunc_Bheap_Compact();
17679// User-implemented function from gstatic:amc.FDb.tfunc
17680// func:amc...tfunc_Bheap_Dealloc
17681// this function is 'extrn' and implemented by user
17682void tfunc_Bheap_Dealloc();
17683// User-implemented function from gstatic:amc.FDb.tfunc
17684// func:amc...tfunc_Bheap_Downheap
17685// this function is 'extrn' and implemented by user
17686void tfunc_Bheap_Downheap();
17687// User-implemented function from gstatic:amc.FDb.tfunc
17688// func:amc...tfunc_Bheap_EmptyQ
17689// this function is 'extrn' and implemented by user
17690void tfunc_Bheap_EmptyQ();
17691// User-implemented function from gstatic:amc.FDb.tfunc
17692// func:amc...tfunc_Bheap_First
17693// this function is 'extrn' and implemented by user
17694void tfunc_Bheap_First();
17695// User-implemented function from gstatic:amc.FDb.tfunc
17696// func:amc...tfunc_Bheap_InBheapQ
17697// this function is 'extrn' and implemented by user
17698void tfunc_Bheap_InBheapQ();
17699// User-implemented function from gstatic:amc.FDb.tfunc
17700// func:amc...tfunc_Bheap_Init
17701// this function is 'extrn' and implemented by user
17702void tfunc_Bheap_Init();
17703// User-implemented function from gstatic:amc.FDb.tfunc
17704// func:amc...tfunc_Bheap_Insert
17705// this function is 'extrn' and implemented by user
17706void tfunc_Bheap_Insert();
17707// User-implemented function from gstatic:amc.FDb.tfunc
17708// func:amc...tfunc_Bheap_N
17709// this function is 'extrn' and implemented by user
17710void tfunc_Bheap_N();
17711// User-implemented function from gstatic:amc.FDb.tfunc
17712// func:amc...tfunc_Bheap_Reheap
17713// this function is 'extrn' and implemented by user
17714void tfunc_Bheap_Reheap();
17715// User-implemented function from gstatic:amc.FDb.tfunc
17716// func:amc...tfunc_Bheap_ReheapFirst
17717// this function is 'extrn' and implemented by user
17718void tfunc_Bheap_ReheapFirst();
17719// User-implemented function from gstatic:amc.FDb.tfunc
17720// func:amc...tfunc_Bheap_Remove
17721// this function is 'extrn' and implemented by user
17722void tfunc_Bheap_Remove();
17723// User-implemented function from gstatic:amc.FDb.tfunc
17724// func:amc...tfunc_Bheap_RemoveAll
17725// this function is 'extrn' and implemented by user
17726void tfunc_Bheap_RemoveAll();
17727// User-implemented function from gstatic:amc.FDb.tfunc
17728// func:amc...tfunc_Bheap_RemoveFirst
17729// this function is 'extrn' and implemented by user
17730void tfunc_Bheap_RemoveFirst();
17731// User-implemented function from gstatic:amc.FDb.tfunc
17732// func:amc...tfunc_Bheap_Reserve
17733// this function is 'extrn' and implemented by user
17734void tfunc_Bheap_Reserve();
17735// User-implemented function from gstatic:amc.FDb.tfunc
17736// func:amc...tfunc_Bheap_Set
17737// this function is 'extrn' and implemented by user
17738void tfunc_Bheap_Set();
17739// User-implemented function from gstatic:amc.FDb.tfunc
17740// func:amc...tfunc_Bheap_SetIfBetter
17741// this function is 'extrn' and implemented by user
17742void tfunc_Bheap_SetIfBetter();
17743// User-implemented function from gstatic:amc.FDb.tfunc
17744// func:amc...tfunc_Bheap_Uninit
17745// this function is 'extrn' and implemented by user
17746void tfunc_Bheap_Uninit();
17747// User-implemented function from gstatic:amc.FDb.tfunc
17748// func:amc...tfunc_Bheap_Upheap
17749// this function is 'extrn' and implemented by user
17750void tfunc_Bheap_Upheap();
17751// User-implemented function from gstatic:amc.FDb.tfunc
17752// func:amc...tfunc_Bheap_ElemLt
17753// this function is 'extrn' and implemented by user
17754void tfunc_Bheap_ElemLt();
17755// User-implemented function from gstatic:amc.FDb.tfunc
17756// func:amc...tfunc_Bheap_ElemLtval
17757// this function is 'extrn' and implemented by user
17758void tfunc_Bheap_ElemLtval();
17759// User-implemented function from gstatic:amc.FDb.tfunc
17760// func:amc...tfunc_Bheap_curs
17761// this function is 'extrn' and implemented by user
17762void tfunc_Bheap_curs();
17763// User-implemented function from gstatic:amc.FDb.tfunc
17764// func:amc...tfunc_Bheap_unordcurs
17765// this function is 'extrn' and implemented by user
17766void tfunc_Bheap_unordcurs();
17767// User-implemented function from gstatic:amc.FDb.tfunc
17768// func:amc...tfunc_Bitfld_Get
17769// this function is 'extrn' and implemented by user
17770void tfunc_Bitfld_Get();
17771// User-implemented function from gstatic:amc.FDb.tfunc
17772// func:amc...tfunc_Bitfld_Init
17773// this function is 'extrn' and implemented by user
17774void tfunc_Bitfld_Init();
17775// User-implemented function from gstatic:amc.FDb.tfunc
17776// func:amc...tfunc_Bitfld_Set
17777// this function is 'extrn' and implemented by user
17778void tfunc_Bitfld_Set();
17779// User-implemented function from gstatic:amc.FDb.tfunc
17780// func:amc...tfunc_Bitset_N
17781// this function is 'extrn' and implemented by user
17782void tfunc_Bitset_N();
17783// User-implemented function from gstatic:amc.FDb.tfunc
17784// func:amc...tfunc_Bitset_qFind
17785// this function is 'extrn' and implemented by user
17786void tfunc_Bitset_qFind();
17787// User-implemented function from gstatic:amc.FDb.tfunc
17788// func:amc...tfunc_Bitset_NBits
17789// this function is 'extrn' and implemented by user
17790void tfunc_Bitset_NBits();
17791// User-implemented function from gstatic:amc.FDb.tfunc
17792// func:amc...tfunc_Bitset_qGetBit
17793// this function is 'extrn' and implemented by user
17794void tfunc_Bitset_qGetBit();
17795// User-implemented function from gstatic:amc.FDb.tfunc
17796// func:amc...tfunc_Bitset_GetBit
17797// this function is 'extrn' and implemented by user
17798void tfunc_Bitset_GetBit();
17799// User-implemented function from gstatic:amc.FDb.tfunc
17800// func:amc...tfunc_Bitset_BitsEmptyQ
17801// this function is 'extrn' and implemented by user
17802void tfunc_Bitset_BitsEmptyQ();
17803// User-implemented function from gstatic:amc.FDb.tfunc
17804// func:amc...tfunc_Bitset_Sum1s
17805// this function is 'extrn' and implemented by user
17806void tfunc_Bitset_Sum1s();
17807// User-implemented function from gstatic:amc.FDb.tfunc
17808// func:amc...tfunc_Bitset_qClearBit
17809// this function is 'extrn' and implemented by user
17810void tfunc_Bitset_qClearBit();
17811// User-implemented function from gstatic:amc.FDb.tfunc
17812// func:amc...tfunc_Bitset_ClearBit
17813// this function is 'extrn' and implemented by user
17814void tfunc_Bitset_ClearBit();
17815// User-implemented function from gstatic:amc.FDb.tfunc
17816// func:amc...tfunc_Bitset_qSetBit
17817// this function is 'extrn' and implemented by user
17818void tfunc_Bitset_qSetBit();
17819// User-implemented function from gstatic:amc.FDb.tfunc
17820// func:amc...tfunc_Bitset_SetBit
17821// this function is 'extrn' and implemented by user
17822void tfunc_Bitset_SetBit();
17823// User-implemented function from gstatic:amc.FDb.tfunc
17824// func:amc...tfunc_Bitset_qSetBitVal
17825// this function is 'extrn' and implemented by user
17826void tfunc_Bitset_qSetBitVal();
17827// User-implemented function from gstatic:amc.FDb.tfunc
17828// func:amc...tfunc_Bitset_qOrBitVal
17829// this function is 'extrn' and implemented by user
17830void tfunc_Bitset_qOrBitVal();
17831// User-implemented function from gstatic:amc.FDb.tfunc
17832// func:amc...tfunc_Bitset_ClearBitsAll
17833// this function is 'extrn' and implemented by user
17834void tfunc_Bitset_ClearBitsAll();
17835// User-implemented function from gstatic:amc.FDb.tfunc
17836// func:amc...tfunc_Bitset_ClearBits
17837// this function is 'extrn' and implemented by user
17838void tfunc_Bitset_ClearBits();
17839// User-implemented function from gstatic:amc.FDb.tfunc
17840// func:amc...tfunc_Bitset_OrBits
17841// this function is 'extrn' and implemented by user
17842void tfunc_Bitset_OrBits();
17843// User-implemented function from gstatic:amc.FDb.tfunc
17844// func:amc...tfunc_Bitset_ExpandBits
17845// this function is 'extrn' and implemented by user
17846void tfunc_Bitset_ExpandBits();
17847// User-implemented function from gstatic:amc.FDb.tfunc
17848// func:amc...tfunc_Bitset_AllocBit
17849// this function is 'extrn' and implemented by user
17850void tfunc_Bitset_AllocBit();
17851// User-implemented function from gstatic:amc.FDb.tfunc
17852// func:amc...tfunc_Bitset_Sup
17853// this function is 'extrn' and implemented by user
17854void tfunc_Bitset_Sup();
17855// User-implemented function from gstatic:amc.FDb.tfunc
17856// func:amc...tfunc_Bitset_bitcurs
17857// this function is 'extrn' and implemented by user
17858void tfunc_Bitset_bitcurs();
17859// User-implemented function from gstatic:amc.FDb.tfunc
17860// func:amc...tfunc_Blkpool_AllocMem
17861// this function is 'extrn' and implemented by user
17862void tfunc_Blkpool_AllocMem();
17863// User-implemented function from gstatic:amc.FDb.tfunc
17864// func:amc...tfunc_Blkpool_SetBufferSize
17865// this function is 'extrn' and implemented by user
17866void tfunc_Blkpool_SetBufferSize();
17867// User-implemented function from gstatic:amc.FDb.tfunc
17868// func:amc...tfunc_Blkpool_ReserveBuffers
17869// this function is 'extrn' and implemented by user
17870void tfunc_Blkpool_ReserveBuffers();
17871// User-implemented function from gstatic:amc.FDb.tfunc
17872// func:amc...tfunc_Blkpool_FreeMem
17873// this function is 'extrn' and implemented by user
17874void tfunc_Blkpool_FreeMem();
17875// User-implemented function from gstatic:amc.FDb.tfunc
17876// func:amc...tfunc_Blkpool_Init
17877// this function is 'extrn' and implemented by user
17878void tfunc_Blkpool_Init();
17879// User-implemented function from gstatic:amc.FDb.tfunc
17880// func:amc...tfunc_Charset_Match
17881// this function is 'extrn' and implemented by user
17882void tfunc_Charset_Match();
17883// User-implemented function from gstatic:amc.FDb.tfunc
17884// func:amc...tfunc_Cmp_Nextchar
17885// this function is 'extrn' and implemented by user
17886void tfunc_Cmp_Nextchar();
17887// User-implemented function from gstatic:amc.FDb.tfunc
17888// func:amc...tfunc_Cmp_Lt
17889// this function is 'extrn' and implemented by user
17890void tfunc_Cmp_Lt();
17891// User-implemented function from gstatic:amc.FDb.tfunc
17892// func:amc...tfunc_Cmp_Cmp
17893// this function is 'extrn' and implemented by user
17894void tfunc_Cmp_Cmp();
17895// User-implemented function from gstatic:amc.FDb.tfunc
17896// func:amc...tfunc_Count_Insert
17897// this function is 'extrn' and implemented by user
17898void tfunc_Count_Insert();
17899// User-implemented function from gstatic:amc.FDb.tfunc
17900// func:amc...tfunc_Count_Remove
17901// this function is 'extrn' and implemented by user
17902void tfunc_Count_Remove();
17903// User-implemented function from gstatic:amc.FDb.tfunc
17904// func:amc...tfunc_Count_N
17905// this function is 'extrn' and implemented by user
17906void tfunc_Count_N();
17907// User-implemented function from gstatic:amc.FDb.tfunc
17908// func:amc...tfunc_Cppfunc_Init
17909// this function is 'extrn' and implemented by user
17910void tfunc_Cppfunc_Init();
17911// User-implemented function from gstatic:amc.FDb.tfunc
17912// func:amc...tfunc_Cppfunc_Get
17913// this function is 'extrn' and implemented by user
17914void tfunc_Cppfunc_Get();
17915// User-implemented function from gstatic:amc.FDb.tfunc
17916// func:amc...tfunc_Cppfunc_Set
17917// this function is 'extrn' and implemented by user
17918void tfunc_Cppfunc_Set();
17919// User-implemented function from gstatic:amc.FDb.tfunc
17920// func:amc...tfunc_Ctype_Hash
17921// this function is 'extrn' and implemented by user
17922void tfunc_Ctype_Hash();
17923// User-implemented function from gstatic:amc.FDb.tfunc
17924// func:amc...tfunc_Ctype_XrefMaybe
17925// this function is 'extrn' and implemented by user
17926void tfunc_Ctype_XrefMaybe();
17927// User-implemented function from gstatic:amc.FDb.tfunc
17928// func:amc...tfunc_Ctype_Unref
17929// this function is 'extrn' and implemented by user
17930void tfunc_Ctype_Unref();
17931// User-implemented function from gstatic:amc.FDb.tfunc
17932// func:amc...tfunc_Ctype_ReadFieldMaybe
17933// this function is 'extrn' and implemented by user
17934void tfunc_Ctype_ReadFieldMaybe();
17935// User-implemented function from gstatic:amc.FDb.tfunc
17936// func:amc...tfunc_Ctype_Read
17937// this function is 'extrn' and implemented by user
17938void tfunc_Ctype_Read();
17939// User-implemented function from gstatic:amc.FDb.tfunc
17940// func:amc...tfunc_Ctype_Lt
17941// this function is 'extrn' and implemented by user
17942void tfunc_Ctype_Lt();
17943// User-implemented function from gstatic:amc.FDb.tfunc
17944// func:amc...tfunc_Ctype_GetMsgLength
17945// this function is 'extrn' and implemented by user
17946void tfunc_Ctype_GetMsgLength();
17947// User-implemented function from gstatic:amc.FDb.tfunc
17948// func:amc...tfunc_Ctype_GetMsgMemptr
17949// this function is 'extrn' and implemented by user
17950void tfunc_Ctype_GetMsgMemptr();
17951// User-implemented function from gstatic:amc.FDb.tfunc
17952// func:amc...tfunc_Ctype_Cmp
17953// this function is 'extrn' and implemented by user
17954void tfunc_Ctype_Cmp();
17955// User-implemented function from gstatic:amc.FDb.tfunc
17956// func:amc...tfunc_Ctype_Init
17957// this function is 'extrn' and implemented by user
17958void tfunc_Ctype_Init();
17959// User-implemented function from gstatic:amc.FDb.tfunc
17960// func:amc...tfunc_Ctype_Uninit
17961// this function is 'extrn' and implemented by user
17962void tfunc_Ctype_Uninit();
17963// User-implemented function from gstatic:amc.FDb.tfunc
17964// func:amc...tfunc_Ctype_UpdateMax
17965// this function is 'extrn' and implemented by user
17966void tfunc_Ctype_UpdateMax();
17967// User-implemented function from gstatic:amc.FDb.tfunc
17968// func:amc...tfunc_Ctype_Min
17969// this function is 'extrn' and implemented by user
17970void tfunc_Ctype_Min();
17971// User-implemented function from gstatic:amc.FDb.tfunc
17972// func:amc...tfunc_Ctype_UpdateMin
17973// this function is 'extrn' and implemented by user
17974void tfunc_Ctype_UpdateMin();
17975// User-implemented function from gstatic:amc.FDb.tfunc
17976// func:amc...tfunc_Ctype_Max
17977// this function is 'extrn' and implemented by user
17978void tfunc_Ctype_Max();
17979// User-implemented function from gstatic:amc.FDb.tfunc
17980// func:amc...tfunc_Ctype_Eq
17981// this function is 'extrn' and implemented by user
17982void tfunc_Ctype_Eq();
17983// User-implemented function from gstatic:amc.FDb.tfunc
17984// func:amc...tfunc_Ctype_Update
17985// this function is 'extrn' and implemented by user
17986void tfunc_Ctype_Update();
17987// User-implemented function from gstatic:amc.FDb.tfunc
17988// func:amc...tfunc_Ctype_EqStrptr
17989// this function is 'extrn' and implemented by user
17990void tfunc_Ctype_EqStrptr();
17991// User-implemented function from gstatic:amc.FDb.tfunc
17992// func:amc...tfunc_Ctype_ToCmdline
17993// this function is 'extrn' and implemented by user
17994void tfunc_Ctype_ToCmdline();
17995// User-implemented function from gstatic:amc.FDb.tfunc
17996// func:amc...tfunc_Ctype_Print
17997// this function is 'extrn' and implemented by user
17998void tfunc_Ctype_Print();
17999// User-implemented function from gstatic:amc.FDb.tfunc
18000// func:amc...tfunc_Ctype_EqEnum
18001// this function is 'extrn' and implemented by user
18002void tfunc_Ctype_EqEnum();
18003// User-implemented function from gstatic:amc.FDb.tfunc
18004// func:amc...tfunc_Ctype_GetAnon
18005// this function is 'extrn' and implemented by user
18006void tfunc_Ctype_GetAnon();
18007// User-implemented function from gstatic:amc.FDb.tfunc
18008// func:amc...tfunc_Ctype_NArgs
18009// this function is 'extrn' and implemented by user
18010void tfunc_Ctype_NArgs();
18011// User-implemented function from gstatic:amc.FDb.tfunc
18012// func:amc...tfunc_Ctype_FastEncode
18013// this function is 'extrn' and implemented by user
18014void tfunc_Ctype_FastEncode();
18015// User-implemented function from gstatic:amc.FDb.tfunc
18016// func:amc...tfunc_Ctype_FastDecode
18017// this function is 'extrn' and implemented by user
18018void tfunc_Ctype_FastDecode();
18019// User-implemented function from gstatic:amc.FDb.tfunc
18020// func:amc...tfunc_Ctype_FixEncode
18021// this function is 'extrn' and implemented by user
18022void tfunc_Ctype_FixEncode();
18023// User-implemented function from gstatic:amc.FDb.tfunc
18024// func:amc...tfunc_Dec_qSetDouble
18025// this function is 'extrn' and implemented by user
18026void tfunc_Dec_qSetDouble();
18027// User-implemented function from gstatic:amc.FDb.tfunc
18028// func:amc...tfunc_Dec_GetDouble
18029// this function is 'extrn' and implemented by user
18030void tfunc_Dec_GetDouble();
18031// User-implemented function from gstatic:amc.FDb.tfunc
18032// func:amc...tfunc_Dec_GetInt
18033// this function is 'extrn' and implemented by user
18034void tfunc_Dec_GetInt();
18035// User-implemented function from gstatic:amc.FDb.tfunc
18036// func:amc...tfunc_Dec_GetScale
18037// this function is 'extrn' and implemented by user
18038void tfunc_Dec_GetScale();
18039// User-implemented function from gstatic:amc.FDb.tfunc
18040// func:amc...tfunc_Dec_SetDoubleMaybe
18041// this function is 'extrn' and implemented by user
18042void tfunc_Dec_SetDoubleMaybe();
18043// User-implemented function from gstatic:amc.FDb.tfunc
18044// func:amc...tfunc_Dec_ReadStrptrMaybe
18045// this function is 'extrn' and implemented by user
18046void tfunc_Dec_ReadStrptrMaybe();
18047// User-implemented function from gstatic:amc.FDb.tfunc
18048// func:amc...tfunc_Dec_Print
18049// this function is 'extrn' and implemented by user
18050void tfunc_Dec_Print();
18051// User-implemented function from gstatic:amc.FDb.tfunc
18052// func:amc...tfunc_Delptr_Access
18053// this function is 'extrn' and implemented by user
18054void tfunc_Delptr_Access();
18055// User-implemented function from gstatic:amc.FDb.tfunc
18056// func:amc...tfunc_Delptr_Delete
18057// this function is 'extrn' and implemented by user
18058void tfunc_Delptr_Delete();
18059// User-implemented function from gstatic:amc.FDb.tfunc
18060// func:amc...tfunc_Delptr_Init
18061// this function is 'extrn' and implemented by user
18062void tfunc_Delptr_Init();
18063// User-implemented function from gstatic:amc.FDb.tfunc
18064// func:amc...tfunc_Delptr_Uninit
18065// this function is 'extrn' and implemented by user
18066void tfunc_Delptr_Uninit();
18067// User-implemented function from gstatic:amc.FDb.tfunc
18068// func:amc...tfunc_Exec_Start
18069// this function is 'extrn' and implemented by user
18070void tfunc_Exec_Start();
18071// User-implemented function from gstatic:amc.FDb.tfunc
18072// func:amc...tfunc_Exec_StartRead
18073// this function is 'extrn' and implemented by user
18074void tfunc_Exec_StartRead();
18075// User-implemented function from gstatic:amc.FDb.tfunc
18076// func:amc...tfunc_Exec_Kill
18077// this function is 'extrn' and implemented by user
18078void tfunc_Exec_Kill();
18079// User-implemented function from gstatic:amc.FDb.tfunc
18080// func:amc...tfunc_Exec_Wait
18081// this function is 'extrn' and implemented by user
18082void tfunc_Exec_Wait();
18083// User-implemented function from gstatic:amc.FDb.tfunc
18084// func:amc...tfunc_Exec_Exec
18085// this function is 'extrn' and implemented by user
18086void tfunc_Exec_Exec();
18087// User-implemented function from gstatic:amc.FDb.tfunc
18088// func:amc...tfunc_Exec_ExecX
18089// this function is 'extrn' and implemented by user
18090void tfunc_Exec_ExecX();
18091// User-implemented function from gstatic:amc.FDb.tfunc
18092// func:amc...tfunc_Exec_Execv
18093// this function is 'extrn' and implemented by user
18094void tfunc_Exec_Execv();
18095// User-implemented function from gstatic:amc.FDb.tfunc
18096// func:amc...tfunc_Exec_ToCmdline
18097// this function is 'extrn' and implemented by user
18098void tfunc_Exec_ToCmdline();
18099// User-implemented function from gstatic:amc.FDb.tfunc
18100// func:amc...tfunc_Exec_Init
18101// this function is 'extrn' and implemented by user
18102void tfunc_Exec_Init();
18103// User-implemented function from gstatic:amc.FDb.tfunc
18104// func:amc...tfunc_Exec_Uninit
18105// this function is 'extrn' and implemented by user
18106void tfunc_Exec_Uninit();
18107// User-implemented function from gstatic:amc.FDb.tfunc
18108// func:amc...tfunc_Exec_ToArgv
18109// this function is 'extrn' and implemented by user
18110void tfunc_Exec_ToArgv();
18111// User-implemented function from gstatic:amc.FDb.tfunc
18112// func:amc...tfunc_Fbuf_BeginRead
18113// this function is 'extrn' and implemented by user
18114void tfunc_Fbuf_BeginRead();
18115// User-implemented function from gstatic:amc.FDb.tfunc
18116// func:amc...tfunc_Fbuf_EndRead
18117// this function is 'extrn' and implemented by user
18118void tfunc_Fbuf_EndRead();
18119// User-implemented function from gstatic:amc.FDb.tfunc
18120// func:amc...tfunc_Fbuf_EndWrite
18121// this function is 'extrn' and implemented by user
18122void tfunc_Fbuf_EndWrite();
18123// User-implemented function from gstatic:amc.FDb.tfunc
18124// func:amc...tfunc_Fbuf_BeginWrite
18125// this function is 'extrn' and implemented by user
18126void tfunc_Fbuf_BeginWrite();
18127// User-implemented function from gstatic:amc.FDb.tfunc
18128// func:amc...tfunc_Fbuf_GetMsg
18129// this function is 'extrn' and implemented by user
18130void tfunc_Fbuf_GetMsg();
18131// User-implemented function from gstatic:amc.FDb.tfunc
18132// func:amc...tfunc_Fbuf_Realloc
18133// this function is 'extrn' and implemented by user
18134void tfunc_Fbuf_Realloc();
18135// User-implemented function from gstatic:amc.FDb.tfunc
18136// func:amc...tfunc_Fbuf_Init
18137// this function is 'extrn' and implemented by user
18138void tfunc_Fbuf_Init();
18139// User-implemented function from gstatic:amc.FDb.tfunc
18140// func:amc...tfunc_Fbuf_Max
18141// this function is 'extrn' and implemented by user
18142void tfunc_Fbuf_Max();
18143// User-implemented function from gstatic:amc.FDb.tfunc
18144// func:amc...tfunc_Fbuf_N
18145// this function is 'extrn' and implemented by user
18146void tfunc_Fbuf_N();
18147// User-implemented function from gstatic:amc.FDb.tfunc
18148// func:amc...tfunc_Fbuf_Outflow
18149// this function is 'extrn' and implemented by user
18150void tfunc_Fbuf_Outflow();
18151// User-implemented function from gstatic:amc.FDb.tfunc
18152// func:amc...tfunc_Fbuf_Refill
18153// this function is 'extrn' and implemented by user
18154void tfunc_Fbuf_Refill();
18155// User-implemented function from gstatic:amc.FDb.tfunc
18156// func:amc...tfunc_Fbuf_RemoveAll
18157// this function is 'extrn' and implemented by user
18158void tfunc_Fbuf_RemoveAll();
18159// User-implemented function from gstatic:amc.FDb.tfunc
18160// func:amc...tfunc_Fbuf_Scanmsg
18161// this function is 'extrn' and implemented by user
18162void tfunc_Fbuf_Scanmsg();
18163// User-implemented function from gstatic:amc.FDb.tfunc
18164// func:amc...tfunc_Fbuf_Shift
18165// this function is 'extrn' and implemented by user
18166void tfunc_Fbuf_Shift();
18167// User-implemented function from gstatic:amc.FDb.tfunc
18168// func:amc...tfunc_Fbuf_SkipBytes
18169// this function is 'extrn' and implemented by user
18170void tfunc_Fbuf_SkipBytes();
18171// User-implemented function from gstatic:amc.FDb.tfunc
18172// func:amc...tfunc_Fbuf_SkipMsg
18173// this function is 'extrn' and implemented by user
18174void tfunc_Fbuf_SkipMsg();
18175// User-implemented function from gstatic:amc.FDb.tfunc
18176// func:amc...tfunc_Fbuf_WriteAll
18177// this function is 'extrn' and implemented by user
18178void tfunc_Fbuf_WriteAll();
18179// User-implemented function from gstatic:amc.FDb.tfunc
18180// func:amc...tfunc_Fbuf_WriteMsg
18181// this function is 'extrn' and implemented by user
18182void tfunc_Fbuf_WriteMsg();
18183// User-implemented function from gstatic:amc.FDb.tfunc
18184// func:amc...tfunc_Fbuf_Uninit
18185// this function is 'extrn' and implemented by user
18186void tfunc_Fbuf_Uninit();
18187// User-implemented function from gstatic:amc.FDb.tfunc
18188// func:amc...tfunc_Fcast_Cast
18189// this function is 'extrn' and implemented by user
18190void tfunc_Fcast_Cast();
18191// User-implemented function from gstatic:amc.FDb.tfunc
18192// func:amc...tfunc_Fconst_GetEnum
18193// this function is 'extrn' and implemented by user
18194void tfunc_Fconst_GetEnum();
18195// User-implemented function from gstatic:amc.FDb.tfunc
18196// func:amc...tfunc_Fconst_SetEnum
18197// this function is 'extrn' and implemented by user
18198void tfunc_Fconst_SetEnum();
18199// User-implemented function from gstatic:amc.FDb.tfunc
18200// func:amc...tfunc_Fconst_ToCstr
18201// this function is 'extrn' and implemented by user
18202void tfunc_Fconst_ToCstr();
18203// User-implemented function from gstatic:amc.FDb.tfunc
18204// func:amc...tfunc_Fconst_Print
18205// this function is 'extrn' and implemented by user
18206void tfunc_Fconst_Print();
18207// User-implemented function from gstatic:amc.FDb.tfunc
18208// func:amc...tfunc_Fconst_SetStrptrMaybe
18209// this function is 'extrn' and implemented by user
18210void tfunc_Fconst_SetStrptrMaybe();
18211// User-implemented function from gstatic:amc.FDb.tfunc
18212// func:amc...tfunc_Fconst_SetStrptr
18213// this function is 'extrn' and implemented by user
18214void tfunc_Fconst_SetStrptr();
18215// User-implemented function from gstatic:amc.FDb.tfunc
18216// func:amc...tfunc_Fconst_ReadStrptrMaybe
18217// this function is 'extrn' and implemented by user
18218void tfunc_Fconst_ReadStrptrMaybe();
18219// User-implemented function from gstatic:amc.FDb.tfunc
18220// func:amc...tfunc_Field_Cleanup
18221// this function is 'extrn' and implemented by user
18222void tfunc_Field_Cleanup();
18223// User-implemented function from gstatic:amc.FDb.tfunc
18224// func:amc...tfunc_Field_Userinit
18225// this function is 'extrn' and implemented by user
18226void tfunc_Field_Userinit();
18227// User-implemented function from gstatic:amc.FDb.tfunc
18228// func:amc...tfunc_Field_Cascdel
18229// this function is 'extrn' and implemented by user
18230void tfunc_Field_Cascdel();
18231// User-implemented function from gstatic:amc.FDb.tfunc
18232// func:amc...tfunc_Field_Concat
18233// this function is 'extrn' and implemented by user
18234void tfunc_Field_Concat();
18235// User-implemented function from gstatic:amc.FDb.tfunc
18236// func:amc...tfunc_Field2_ReadStrptrMaybe
18237// this function is 'extrn' and implemented by user
18238void tfunc_Field2_ReadStrptrMaybe();
18239// User-implemented function from gstatic:amc.FDb.tfunc
18240// func:amc...tfunc_Global_ReadArgv
18241// this function is 'extrn' and implemented by user
18242void tfunc_Global_ReadArgv();
18243// User-implemented function from gstatic:amc.FDb.tfunc
18244// func:amc...tfunc_Global_main
18245// this function is 'extrn' and implemented by user
18246void tfunc_Global_main();
18247// User-implemented function from gstatic:amc.FDb.tfunc
18248// func:amc...tfunc_Global_WinMain
18249// this function is 'extrn' and implemented by user
18250void tfunc_Global_WinMain();
18251// User-implemented function from gstatic:amc.FDb.tfunc
18252// func:amc...tfunc_Global_MainLoop
18253// this function is 'extrn' and implemented by user
18254void tfunc_Global_MainLoop();
18255// User-implemented function from gstatic:amc.FDb.tfunc
18256// func:amc...tfunc_Global_Step
18257// this function is 'extrn' and implemented by user
18258void tfunc_Global_Step();
18259// User-implemented function from gstatic:amc.FDb.tfunc
18260// func:amc...tfunc_Global_Main
18261// this function is 'extrn' and implemented by user
18262void tfunc_Global_Main();
18263// User-implemented function from gstatic:amc.FDb.tfunc
18264// func:amc...tfunc_Global_InitReflection
18265// this function is 'extrn' and implemented by user
18266void tfunc_Global_InitReflection();
18267// User-implemented function from gstatic:amc.FDb.tfunc
18268// func:amc...tfunc_Global_InsertStrptrMaybe
18269// this function is 'extrn' and implemented by user
18270void tfunc_Global_InsertStrptrMaybe();
18271// User-implemented function from gstatic:amc.FDb.tfunc
18272// func:amc...tfunc_Global_LoadTuplesMaybe
18273// this function is 'extrn' and implemented by user
18274void tfunc_Global_LoadTuplesMaybe();
18275// User-implemented function from gstatic:amc.FDb.tfunc
18276// func:amc...tfunc_Global_LoadTuplesFile
18277// this function is 'extrn' and implemented by user
18278void tfunc_Global_LoadTuplesFile();
18279// User-implemented function from gstatic:amc.FDb.tfunc
18280// func:amc...tfunc_Global_LoadTuplesFd
18281// this function is 'extrn' and implemented by user
18282void tfunc_Global_LoadTuplesFd();
18283// User-implemented function from gstatic:amc.FDb.tfunc
18284// func:amc...tfunc_Global_SaveTuples
18285// this function is 'extrn' and implemented by user
18286void tfunc_Global_SaveTuples();
18287// User-implemented function from gstatic:amc.FDb.tfunc
18288// func:amc...tfunc_Global_Init
18289// this function is 'extrn' and implemented by user
18290void tfunc_Global_Init();
18291// User-implemented function from gstatic:amc.FDb.tfunc
18292// func:amc...tfunc_Global_LoadSsimfileMaybe
18293// this function is 'extrn' and implemented by user
18294void tfunc_Global_LoadSsimfileMaybe();
18295// User-implemented function from gstatic:amc.FDb.tfunc
18296// func:amc...tfunc_Global_Steps
18297// this function is 'extrn' and implemented by user
18298void tfunc_Global_Steps();
18299// User-implemented function from gstatic:amc.FDb.tfunc
18300// func:amc...tfunc_Hook_Call
18301// this function is 'extrn' and implemented by user
18302void tfunc_Hook_Call();
18303// User-implemented function from gstatic:amc.FDb.tfunc
18304// func:amc...tfunc_Hook_Set0
18305// this function is 'extrn' and implemented by user
18306void tfunc_Hook_Set0();
18307// User-implemented function from gstatic:amc.FDb.tfunc
18308// func:amc...tfunc_Hook_Set1
18309// this function is 'extrn' and implemented by user
18310void tfunc_Hook_Set1();
18311// User-implemented function from gstatic:amc.FDb.tfunc
18312// func:amc...tfunc_Hook_Set2
18313// this function is 'extrn' and implemented by user
18314void tfunc_Hook_Set2();
18315// User-implemented function from gstatic:amc.FDb.tfunc
18316// func:amc...tfunc_Inlary_AllocMem
18317// this function is 'extrn' and implemented by user
18318void tfunc_Inlary_AllocMem();
18319// User-implemented function from gstatic:amc.FDb.tfunc
18320// func:amc...tfunc_Inlary_EmptyQ
18321// this function is 'extrn' and implemented by user
18322void tfunc_Inlary_EmptyQ();
18323// User-implemented function from gstatic:amc.FDb.tfunc
18324// func:amc...tfunc_Inlary_Fill
18325// this function is 'extrn' and implemented by user
18326void tfunc_Inlary_Fill();
18327// User-implemented function from gstatic:amc.FDb.tfunc
18328// func:amc...tfunc_Inlary_Find
18329// this function is 'extrn' and implemented by user
18330void tfunc_Inlary_Find();
18331// User-implemented function from gstatic:amc.FDb.tfunc
18332// func:amc...tfunc_Inlary_Getary
18333// this function is 'extrn' and implemented by user
18334void tfunc_Inlary_Getary();
18335// User-implemented function from gstatic:amc.FDb.tfunc
18336// func:amc...tfunc_Inlary_Init
18337// this function is 'extrn' and implemented by user
18338void tfunc_Inlary_Init();
18339// User-implemented function from gstatic:amc.FDb.tfunc
18340// func:amc...tfunc_Inlary_Max
18341// this function is 'extrn' and implemented by user
18342void tfunc_Inlary_Max();
18343// User-implemented function from gstatic:amc.FDb.tfunc
18344// func:amc...tfunc_Inlary_N
18345// this function is 'extrn' and implemented by user
18346void tfunc_Inlary_N();
18347// User-implemented function from gstatic:amc.FDb.tfunc
18348// func:amc...tfunc_Inlary_RemoveAll
18349// this function is 'extrn' and implemented by user
18350void tfunc_Inlary_RemoveAll();
18351// User-implemented function from gstatic:amc.FDb.tfunc
18352// func:amc...tfunc_Inlary_RemoveLast
18353// this function is 'extrn' and implemented by user
18354void tfunc_Inlary_RemoveLast();
18355// User-implemented function from gstatic:amc.FDb.tfunc
18356// func:amc...tfunc_Inlary_RowidFind
18357// this function is 'extrn' and implemented by user
18358void tfunc_Inlary_RowidFind();
18359// User-implemented function from gstatic:amc.FDb.tfunc
18360// func:amc...tfunc_Inlary_Setary
18361// this function is 'extrn' and implemented by user
18362void tfunc_Inlary_Setary();
18363// User-implemented function from gstatic:amc.FDb.tfunc
18364// func:amc...tfunc_Inlary_Uninit
18365// this function is 'extrn' and implemented by user
18366void tfunc_Inlary_Uninit();
18367// User-implemented function from gstatic:amc.FDb.tfunc
18368// func:amc...tfunc_Inlary_qFind
18369// this function is 'extrn' and implemented by user
18370void tfunc_Inlary_qFind();
18371// User-implemented function from gstatic:amc.FDb.tfunc
18372// func:amc...tfunc_Inlary_rowid_Get
18373// this function is 'extrn' and implemented by user
18374void tfunc_Inlary_rowid_Get();
18375// User-implemented function from gstatic:amc.FDb.tfunc
18376// func:amc...tfunc_Inlary_Eq
18377// this function is 'extrn' and implemented by user
18378void tfunc_Inlary_Eq();
18379// User-implemented function from gstatic:amc.FDb.tfunc
18380// func:amc...tfunc_Inlary_Cmp
18381// this function is 'extrn' and implemented by user
18382void tfunc_Inlary_Cmp();
18383// User-implemented function from gstatic:amc.FDb.tfunc
18384// func:amc...tfunc_Inlary_curs
18385// this function is 'extrn' and implemented by user
18386void tfunc_Inlary_curs();
18387// User-implemented function from gstatic:amc.FDb.tfunc
18388// func:amc...tfunc_Inlary_Print
18389// this function is 'extrn' and implemented by user
18390void tfunc_Inlary_Print();
18391// User-implemented function from gstatic:amc.FDb.tfunc
18392// func:amc...tfunc_Inlary_ReadStrptrMaybe
18393// this function is 'extrn' and implemented by user
18394void tfunc_Inlary_ReadStrptrMaybe();
18395// User-implemented function from gstatic:amc.FDb.tfunc
18396// func:amc...tfunc_Io_SaveSsimfile
18397// this function is 'extrn' and implemented by user
18398void tfunc_Io_SaveSsimfile();
18399// User-implemented function from gstatic:amc.FDb.tfunc
18400// func:amc...tfunc_Io_Input
18401// this function is 'extrn' and implemented by user
18402void tfunc_Io_Input();
18403// User-implemented function from gstatic:amc.FDb.tfunc
18404// func:amc...tfunc_Io_InputMaybe
18405// this function is 'extrn' and implemented by user
18406void tfunc_Io_InputMaybe();
18407// User-implemented function from gstatic:amc.FDb.tfunc
18408// func:amc...tfunc_Io_LoadStatic
18409// this function is 'extrn' and implemented by user
18410void tfunc_Io_LoadStatic();
18411// User-implemented function from gstatic:amc.FDb.tfunc
18412// func:amc...tfunc_Lary_AllocMem
18413// this function is 'extrn' and implemented by user
18414void tfunc_Lary_AllocMem();
18415// User-implemented function from gstatic:amc.FDb.tfunc
18416// func:amc...tfunc_Lary_EmptyQ
18417// this function is 'extrn' and implemented by user
18418void tfunc_Lary_EmptyQ();
18419// User-implemented function from gstatic:amc.FDb.tfunc
18420// func:amc...tfunc_Lary_Find
18421// this function is 'extrn' and implemented by user
18422void tfunc_Lary_Find();
18423// User-implemented function from gstatic:amc.FDb.tfunc
18424// func:amc...tfunc_Lary_Init
18425// this function is 'extrn' and implemented by user
18426void tfunc_Lary_Init();
18427// User-implemented function from gstatic:amc.FDb.tfunc
18428// func:amc...tfunc_Lary_Last
18429// this function is 'extrn' and implemented by user
18430void tfunc_Lary_Last();
18431// User-implemented function from gstatic:amc.FDb.tfunc
18432// func:amc...tfunc_Lary_N
18433// this function is 'extrn' and implemented by user
18434void tfunc_Lary_N();
18435// User-implemented function from gstatic:amc.FDb.tfunc
18436// func:amc...tfunc_Lary_RemoveAll
18437// this function is 'extrn' and implemented by user
18438void tfunc_Lary_RemoveAll();
18439// User-implemented function from gstatic:amc.FDb.tfunc
18440// func:amc...tfunc_Lary_RemoveLast
18441// this function is 'extrn' and implemented by user
18442void tfunc_Lary_RemoveLast();
18443// User-implemented function from gstatic:amc.FDb.tfunc
18444// func:amc...tfunc_Lary_RowidFind
18445// this function is 'extrn' and implemented by user
18446void tfunc_Lary_RowidFind();
18447// User-implemented function from gstatic:amc.FDb.tfunc
18448// func:amc...tfunc_Lary_Uninit
18449// this function is 'extrn' and implemented by user
18450void tfunc_Lary_Uninit();
18451// User-implemented function from gstatic:amc.FDb.tfunc
18452// func:amc...tfunc_Lary_qFind
18453// this function is 'extrn' and implemented by user
18454void tfunc_Lary_qFind();
18455// User-implemented function from gstatic:amc.FDb.tfunc
18456// func:amc...tfunc_Lary_qLast
18457// this function is 'extrn' and implemented by user
18458void tfunc_Lary_qLast();
18459// User-implemented function from gstatic:amc.FDb.tfunc
18460// func:amc...tfunc_Lary_curs
18461// this function is 'extrn' and implemented by user
18462void tfunc_Lary_curs();
18463// User-implemented function from gstatic:amc.FDb.tfunc
18464// func:amc...tfunc_Llist_Cascdel
18465// this function is 'extrn' and implemented by user
18466void tfunc_Llist_Cascdel();
18467// User-implemented function from gstatic:amc.FDb.tfunc
18468// func:amc...tfunc_Llist_DestructiveFirst
18469// this function is 'extrn' and implemented by user
18470void tfunc_Llist_DestructiveFirst();
18471// User-implemented function from gstatic:amc.FDb.tfunc
18472// func:amc...tfunc_Llist_EmptyQ
18473// this function is 'extrn' and implemented by user
18474void tfunc_Llist_EmptyQ();
18475// User-implemented function from gstatic:amc.FDb.tfunc
18476// func:amc...tfunc_Llist_First
18477// this function is 'extrn' and implemented by user
18478void tfunc_Llist_First();
18479// User-implemented function from gstatic:amc.FDb.tfunc
18480// func:amc...tfunc_Llist_InLlistQ
18481// this function is 'extrn' and implemented by user
18482void tfunc_Llist_InLlistQ();
18483// User-implemented function from gstatic:amc.FDb.tfunc
18484// func:amc...tfunc_Llist_Init
18485// this function is 'extrn' and implemented by user
18486void tfunc_Llist_Init();
18487// User-implemented function from gstatic:amc.FDb.tfunc
18488// func:amc...tfunc_Llist_Insert
18489// this function is 'extrn' and implemented by user
18490void tfunc_Llist_Insert();
18491// User-implemented function from gstatic:amc.FDb.tfunc
18492// func:amc...tfunc_Llist_Last
18493// this function is 'extrn' and implemented by user
18494void tfunc_Llist_Last();
18495// User-implemented function from gstatic:amc.FDb.tfunc
18496// func:amc...tfunc_Llist_N
18497// this function is 'extrn' and implemented by user
18498void tfunc_Llist_N();
18499// User-implemented function from gstatic:amc.FDb.tfunc
18500// func:amc...tfunc_Llist_Next
18501// this function is 'extrn' and implemented by user
18502void tfunc_Llist_Next();
18503// User-implemented function from gstatic:amc.FDb.tfunc
18504// func:amc...tfunc_Llist_Prev
18505// this function is 'extrn' and implemented by user
18506void tfunc_Llist_Prev();
18507// User-implemented function from gstatic:amc.FDb.tfunc
18508// func:amc...tfunc_Llist_Remove
18509// this function is 'extrn' and implemented by user
18510void tfunc_Llist_Remove();
18511// User-implemented function from gstatic:amc.FDb.tfunc
18512// func:amc...tfunc_Llist_RemoveAll
18513// this function is 'extrn' and implemented by user
18514void tfunc_Llist_RemoveAll();
18515// User-implemented function from gstatic:amc.FDb.tfunc
18516// func:amc...tfunc_Llist_RemoveFirst
18517// this function is 'extrn' and implemented by user
18518void tfunc_Llist_RemoveFirst();
18519// User-implemented function from gstatic:amc.FDb.tfunc
18520// func:amc...tfunc_Llist_RotateFirst
18521// this function is 'extrn' and implemented by user
18522void tfunc_Llist_RotateFirst();
18523// User-implemented function from gstatic:amc.FDb.tfunc
18524// func:amc...tfunc_Llist_qLast
18525// this function is 'extrn' and implemented by user
18526void tfunc_Llist_qLast();
18527// User-implemented function from gstatic:amc.FDb.tfunc
18528// func:amc...tfunc_Llist_curs
18529// this function is 'extrn' and implemented by user
18530void tfunc_Llist_curs();
18531// User-implemented function from gstatic:amc.FDb.tfunc
18532// func:amc...tfunc_Llist_delcurs
18533// this function is 'extrn' and implemented by user
18534void tfunc_Llist_delcurs();
18535// User-implemented function from gstatic:amc.FDb.tfunc
18536// func:amc...tfunc_Lpool_Init
18537// this function is 'extrn' and implemented by user
18538void tfunc_Lpool_Init();
18539// User-implemented function from gstatic:amc.FDb.tfunc
18540// func:amc...tfunc_Lpool_FreeMem
18541// this function is 'extrn' and implemented by user
18542void tfunc_Lpool_FreeMem();
18543// User-implemented function from gstatic:amc.FDb.tfunc
18544// func:amc...tfunc_Lpool_AllocMem
18545// this function is 'extrn' and implemented by user
18546void tfunc_Lpool_AllocMem();
18547// User-implemented function from gstatic:amc.FDb.tfunc
18548// func:amc...tfunc_Lpool_ReserveBuffers
18549// this function is 'extrn' and implemented by user
18550void tfunc_Lpool_ReserveBuffers();
18551// User-implemented function from gstatic:amc.FDb.tfunc
18552// func:amc...tfunc_Lpool_ReallocMem
18553// this function is 'extrn' and implemented by user
18554void tfunc_Lpool_ReallocMem();
18555// User-implemented function from gstatic:amc.FDb.tfunc
18556// func:amc...tfunc_Lpool_N
18557// this function is 'extrn' and implemented by user
18558void tfunc_Lpool_N();
18559// User-implemented function from gstatic:amc.FDb.tfunc
18560// func:amc...tfunc_Malloc_AllocMem
18561// this function is 'extrn' and implemented by user
18562void tfunc_Malloc_AllocMem();
18563// User-implemented function from gstatic:amc.FDb.tfunc
18564// func:amc...tfunc_Malloc_FreeMem
18565// this function is 'extrn' and implemented by user
18566void tfunc_Malloc_FreeMem();
18567// User-implemented function from gstatic:amc.FDb.tfunc
18568// func:amc...tfunc_Malloc_ReallocMem
18569// this function is 'extrn' and implemented by user
18570void tfunc_Malloc_ReallocMem();
18571// User-implemented function from gstatic:amc.FDb.tfunc
18572// func:amc...tfunc_Ns_StaticCheck
18573// this function is 'extrn' and implemented by user
18574void tfunc_Ns_StaticCheck();
18575// User-implemented function from gstatic:amc.FDb.tfunc
18576// func:amc...tfunc_Numstr_Getnum
18577// this function is 'extrn' and implemented by user
18578void tfunc_Numstr_Getnum();
18579// User-implemented function from gstatic:amc.FDb.tfunc
18580// func:amc...tfunc_Numstr_GetnumDflt
18581// this function is 'extrn' and implemented by user
18582void tfunc_Numstr_GetnumDflt();
18583// User-implemented function from gstatic:amc.FDb.tfunc
18584// func:amc...tfunc_Numstr_Geti64
18585// this function is 'extrn' and implemented by user
18586void tfunc_Numstr_Geti64();
18587// User-implemented function from gstatic:amc.FDb.tfunc
18588// func:amc...tfunc_Numstr_SetnumMaybe
18589// this function is 'extrn' and implemented by user
18590void tfunc_Numstr_SetnumMaybe();
18591// User-implemented function from gstatic:amc.FDb.tfunc
18592// func:amc...tfunc_Numstr_ForAllStrings
18593// this function is 'extrn' and implemented by user
18594void tfunc_Numstr_ForAllStrings();
18595// User-implemented function from gstatic:amc.FDb.tfunc
18596// func:amc...tfunc_Opt_Get
18597// this function is 'extrn' and implemented by user
18598void tfunc_Opt_Get();
18599// User-implemented function from gstatic:amc.FDb.tfunc
18600// func:amc...tfunc_Opt_Getary
18601// this function is 'extrn' and implemented by user
18602void tfunc_Opt_Getary();
18603// User-implemented function from gstatic:amc.FDb.tfunc
18604// func:amc...tfunc_Opt_Print
18605// this function is 'extrn' and implemented by user
18606void tfunc_Opt_Print();
18607// User-implemented function from gstatic:amc.FDb.tfunc
18608// func:amc...tfunc_Opt_ReadStrptrMaybe
18609// this function is 'extrn' and implemented by user
18610void tfunc_Opt_ReadStrptrMaybe();
18611// User-implemented function from gstatic:amc.FDb.tfunc
18612// func:amc...tfunc_Pmask_PresentQ
18613// this function is 'extrn' and implemented by user
18614void tfunc_Pmask_PresentQ();
18615// User-implemented function from gstatic:amc.FDb.tfunc
18616// func:amc...tfunc_Pmask_SetPresent
18617// this function is 'extrn' and implemented by user
18618void tfunc_Pmask_SetPresent();
18619// User-implemented function from gstatic:amc.FDb.tfunc
18620// func:amc...tfunc_Pmask_GetBit
18621// this function is 'extrn' and implemented by user
18622void tfunc_Pmask_GetBit();
18623// User-implemented function from gstatic:amc.FDb.tfunc
18624// func:amc...tfunc_Pool_Alloc
18625// this function is 'extrn' and implemented by user
18626void tfunc_Pool_Alloc();
18627// User-implemented function from gstatic:amc.FDb.tfunc
18628// func:amc...tfunc_Pool_AllocMaybe
18629// this function is 'extrn' and implemented by user
18630void tfunc_Pool_AllocMaybe();
18631// User-implemented function from gstatic:amc.FDb.tfunc
18632// func:amc...tfunc_Pool_AllocExtra
18633// this function is 'extrn' and implemented by user
18634void tfunc_Pool_AllocExtra();
18635// User-implemented function from gstatic:amc.FDb.tfunc
18636// func:amc...tfunc_Pool_AllocExtraMaybe
18637// this function is 'extrn' and implemented by user
18638void tfunc_Pool_AllocExtraMaybe();
18639// User-implemented function from gstatic:amc.FDb.tfunc
18640// func:amc...tfunc_Pool_AllocVarlenMaybe
18641// this function is 'extrn' and implemented by user
18642void tfunc_Pool_AllocVarlenMaybe();
18643// User-implemented function from gstatic:amc.FDb.tfunc
18644// func:amc...tfunc_Pool_AllocVarlen
18645// this function is 'extrn' and implemented by user
18646void tfunc_Pool_AllocVarlen();
18647// User-implemented function from gstatic:amc.FDb.tfunc
18648// func:amc...tfunc_Pool_InsertMaybe
18649// this function is 'extrn' and implemented by user
18650void tfunc_Pool_InsertMaybe();
18651// User-implemented function from gstatic:amc.FDb.tfunc
18652// func:amc...tfunc_Pool_UpdateMaybe
18653// this function is 'extrn' and implemented by user
18654void tfunc_Pool_UpdateMaybe();
18655// User-implemented function from gstatic:amc.FDb.tfunc
18656// func:amc...tfunc_Pool_Delete
18657// this function is 'extrn' and implemented by user
18658void tfunc_Pool_Delete();
18659// User-implemented function from gstatic:amc.FDb.tfunc
18660// func:amc...tfunc_Ptr_Cascdel
18661// this function is 'extrn' and implemented by user
18662void tfunc_Ptr_Cascdel();
18663// User-implemented function from gstatic:amc.FDb.tfunc
18664// func:amc...tfunc_Ptr_InsertMaybe
18665// this function is 'extrn' and implemented by user
18666void tfunc_Ptr_InsertMaybe();
18667// User-implemented function from gstatic:amc.FDb.tfunc
18668// func:amc...tfunc_Ptr_Remove
18669// this function is 'extrn' and implemented by user
18670void tfunc_Ptr_Remove();
18671// User-implemented function from gstatic:amc.FDb.tfunc
18672// func:amc...tfunc_Ptr_Init
18673// this function is 'extrn' and implemented by user
18674void tfunc_Ptr_Init();
18675// User-implemented function from gstatic:amc.FDb.tfunc
18676// func:amc...tfunc_Ptrary_Cascdel
18677// this function is 'extrn' and implemented by user
18678void tfunc_Ptrary_Cascdel();
18679// User-implemented function from gstatic:amc.FDb.tfunc
18680// func:amc...tfunc_Ptrary_EmptyQ
18681// this function is 'extrn' and implemented by user
18682void tfunc_Ptrary_EmptyQ();
18683// User-implemented function from gstatic:amc.FDb.tfunc
18684// func:amc...tfunc_Ptrary_Find
18685// this function is 'extrn' and implemented by user
18686void tfunc_Ptrary_Find();
18687// User-implemented function from gstatic:amc.FDb.tfunc
18688// func:amc...tfunc_Ptrary_Getary
18689// this function is 'extrn' and implemented by user
18690void tfunc_Ptrary_Getary();
18691// User-implemented function from gstatic:amc.FDb.tfunc
18692// func:amc...tfunc_Ptrary_Init
18693// this function is 'extrn' and implemented by user
18694void tfunc_Ptrary_Init();
18695// User-implemented function from gstatic:amc.FDb.tfunc
18696// func:amc...tfunc_Ptrary_Insert
18697// this function is 'extrn' and implemented by user
18698void tfunc_Ptrary_Insert();
18699// User-implemented function from gstatic:amc.FDb.tfunc
18700// func:amc...tfunc_Ptrary_InsertMaybe
18701// this function is 'extrn' and implemented by user
18702void tfunc_Ptrary_InsertMaybe();
18703// User-implemented function from gstatic:amc.FDb.tfunc
18704// func:amc...tfunc_Ptrary_ScanInsertMaybe
18705// this function is 'extrn' and implemented by user
18706void tfunc_Ptrary_ScanInsertMaybe();
18707// User-implemented function from gstatic:amc.FDb.tfunc
18708// func:amc...tfunc_Ptrary_N
18709// this function is 'extrn' and implemented by user
18710void tfunc_Ptrary_N();
18711// User-implemented function from gstatic:amc.FDb.tfunc
18712// func:amc...tfunc_Ptrary_Remove
18713// this function is 'extrn' and implemented by user
18714void tfunc_Ptrary_Remove();
18715// User-implemented function from gstatic:amc.FDb.tfunc
18716// func:amc...tfunc_Ptrary_RemoveAll
18717// this function is 'extrn' and implemented by user
18718void tfunc_Ptrary_RemoveAll();
18719// User-implemented function from gstatic:amc.FDb.tfunc
18720// func:amc...tfunc_Ptrary_Reserve
18721// this function is 'extrn' and implemented by user
18722void tfunc_Ptrary_Reserve();
18723// User-implemented function from gstatic:amc.FDb.tfunc
18724// func:amc...tfunc_Ptrary_Uninit
18725// this function is 'extrn' and implemented by user
18726void tfunc_Ptrary_Uninit();
18727// User-implemented function from gstatic:amc.FDb.tfunc
18728// func:amc...tfunc_Ptrary_curs
18729// this function is 'extrn' and implemented by user
18730void tfunc_Ptrary_curs();
18731// User-implemented function from gstatic:amc.FDb.tfunc
18732// func:amc...tfunc_Ptrary_oncecurs
18733// this function is 'extrn' and implemented by user
18734void tfunc_Ptrary_oncecurs();
18735// User-implemented function from gstatic:amc.FDb.tfunc
18736// func:amc...tfunc_Ptrary_qFind
18737// this function is 'extrn' and implemented by user
18738void tfunc_Ptrary_qFind();
18739// User-implemented function from gstatic:amc.FDb.tfunc
18740// func:amc...tfunc_Ptrary_InAryQ
18741// this function is 'extrn' and implemented by user
18742void tfunc_Ptrary_InAryQ();
18743// User-implemented function from gstatic:amc.FDb.tfunc
18744// func:amc...tfunc_Ptrary_qLast
18745// this function is 'extrn' and implemented by user
18746void tfunc_Ptrary_qLast();
18747// User-implemented function from gstatic:amc.FDb.tfunc
18748// func:amc...tfunc_Regx_Init
18749// this function is 'extrn' and implemented by user
18750void tfunc_Regx_Init();
18751// User-implemented function from gstatic:amc.FDb.tfunc
18752// func:amc...tfunc_Regx_Print
18753// this function is 'extrn' and implemented by user
18754void tfunc_Regx_Print();
18755// User-implemented function from gstatic:amc.FDb.tfunc
18756// func:amc...tfunc_Regx_ReadStrptrMaybe
18757// this function is 'extrn' and implemented by user
18758void tfunc_Regx_ReadStrptrMaybe();
18759// User-implemented function from gstatic:amc.FDb.tfunc
18760// func:amc...tfunc_RegxSql_Init
18761// this function is 'extrn' and implemented by user
18762void tfunc_RegxSql_Init();
18763// User-implemented function from gstatic:amc.FDb.tfunc
18764// func:amc...tfunc_RegxSql_Print
18765// this function is 'extrn' and implemented by user
18766void tfunc_RegxSql_Print();
18767// User-implemented function from gstatic:amc.FDb.tfunc
18768// func:amc...tfunc_RegxSql_ReadStrptrMaybe
18769// this function is 'extrn' and implemented by user
18770void tfunc_RegxSql_ReadStrptrMaybe();
18771// User-implemented function from gstatic:amc.FDb.tfunc
18772// func:amc...tfunc_Sbrk_AllocMem
18773// this function is 'extrn' and implemented by user
18774void tfunc_Sbrk_AllocMem();
18775// User-implemented function from gstatic:amc.FDb.tfunc
18776// func:amc...tfunc_Sbrk_FreeMem
18777// this function is 'extrn' and implemented by user
18778void tfunc_Sbrk_FreeMem();
18779// User-implemented function from gstatic:amc.FDb.tfunc
18780// func:amc...tfunc_Sbrk_Init
18781// this function is 'extrn' and implemented by user
18782void tfunc_Sbrk_Init();
18783// User-implemented function from gstatic:amc.FDb.tfunc
18784// func:amc...tfunc_Smallstr_Add
18785// this function is 'extrn' and implemented by user
18786void tfunc_Smallstr_Add();
18787// User-implemented function from gstatic:amc.FDb.tfunc
18788// func:amc...tfunc_Smallstr_AddStrptr
18789// this function is 'extrn' and implemented by user
18790void tfunc_Smallstr_AddStrptr();
18791// User-implemented function from gstatic:amc.FDb.tfunc
18792// func:amc...tfunc_Smallstr_Getary
18793// this function is 'extrn' and implemented by user
18794void tfunc_Smallstr_Getary();
18795// User-implemented function from gstatic:amc.FDb.tfunc
18796// func:amc...tfunc_Smallstr_HashStrptr
18797// this function is 'extrn' and implemented by user
18798void tfunc_Smallstr_HashStrptr();
18799// User-implemented function from gstatic:amc.FDb.tfunc
18800// func:amc...tfunc_Smallstr_Init
18801// this function is 'extrn' and implemented by user
18802void tfunc_Smallstr_Init();
18803// User-implemented function from gstatic:amc.FDb.tfunc
18804// func:amc...tfunc_Smallstr_Max
18805// this function is 'extrn' and implemented by user
18806void tfunc_Smallstr_Max();
18807// User-implemented function from gstatic:amc.FDb.tfunc
18808// func:amc...tfunc_Smallstr_N
18809// this function is 'extrn' and implemented by user
18810void tfunc_Smallstr_N();
18811// User-implemented function from gstatic:amc.FDb.tfunc
18812// func:amc...tfunc_Smallstr_Print
18813// this function is 'extrn' and implemented by user
18814void tfunc_Smallstr_Print();
18815// User-implemented function from gstatic:amc.FDb.tfunc
18816// func:amc...tfunc_Smallstr_ReadStrptrMaybe
18817// this function is 'extrn' and implemented by user
18818void tfunc_Smallstr_ReadStrptrMaybe();
18819// User-implemented function from gstatic:amc.FDb.tfunc
18820// func:amc...tfunc_Smallstr_SetStrptr
18821// this function is 'extrn' and implemented by user
18822void tfunc_Smallstr_SetStrptr();
18823// User-implemented function from gstatic:amc.FDb.tfunc
18824// func:amc...tfunc_Smallstr_AssignStrptr
18825// this function is 'extrn' and implemented by user
18826void tfunc_Smallstr_AssignStrptr();
18827// User-implemented function from gstatic:amc.FDb.tfunc
18828// func:amc...tfunc_Smallstr_Set
18829// this function is 'extrn' and implemented by user
18830void tfunc_Smallstr_Set();
18831// User-implemented function from gstatic:amc.FDb.tfunc
18832// func:amc...tfunc_Smallstr_Ctor
18833// this function is 'extrn' and implemented by user
18834void tfunc_Smallstr_Ctor();
18835// User-implemented function from gstatic:amc.FDb.tfunc
18836// func:amc...tfunc_Smallstr_CtorStrptr
18837// this function is 'extrn' and implemented by user
18838void tfunc_Smallstr_CtorStrptr();
18839// User-implemented function from gstatic:amc.FDb.tfunc
18840// func:amc...tfunc_Sort_Swap
18841// this function is 'extrn' and implemented by user
18842void tfunc_Sort_Swap();
18843// User-implemented function from gstatic:amc.FDb.tfunc
18844// func:amc...tfunc_Sort_Rotleft
18845// this function is 'extrn' and implemented by user
18846void tfunc_Sort_Rotleft();
18847// User-implemented function from gstatic:amc.FDb.tfunc
18848// func:amc...tfunc_Sort_Lt
18849// this function is 'extrn' and implemented by user
18850void tfunc_Sort_Lt();
18851// User-implemented function from gstatic:amc.FDb.tfunc
18852// func:amc...tfunc_Sort_SortedQ
18853// this function is 'extrn' and implemented by user
18854void tfunc_Sort_SortedQ();
18855// User-implemented function from gstatic:amc.FDb.tfunc
18856// func:amc...tfunc_Sort_IntInsertionSort
18857// this function is 'extrn' and implemented by user
18858void tfunc_Sort_IntInsertionSort();
18859// User-implemented function from gstatic:amc.FDb.tfunc
18860// func:amc...tfunc_Sort_IntHeapSort
18861// this function is 'extrn' and implemented by user
18862void tfunc_Sort_IntHeapSort();
18863// User-implemented function from gstatic:amc.FDb.tfunc
18864// func:amc...tfunc_Sort_IntQuickSort
18865// this function is 'extrn' and implemented by user
18866void tfunc_Sort_IntQuickSort();
18867// User-implemented function from gstatic:amc.FDb.tfunc
18868// func:amc...tfunc_Sort_InsertionSort
18869// this function is 'extrn' and implemented by user
18870void tfunc_Sort_InsertionSort();
18871// User-implemented function from gstatic:amc.FDb.tfunc
18872// func:amc...tfunc_Sort_HeapSort
18873// this function is 'extrn' and implemented by user
18874void tfunc_Sort_HeapSort();
18875// User-implemented function from gstatic:amc.FDb.tfunc
18876// func:amc...tfunc_Sort_QuickSort
18877// this function is 'extrn' and implemented by user
18878void tfunc_Sort_QuickSort();
18879// User-implemented function from gstatic:amc.FDb.tfunc
18880// func:amc...tfunc_Step_FirstChanged
18881// this function is 'extrn' and implemented by user
18882void tfunc_Step_FirstChanged();
18883// User-implemented function from gstatic:amc.FDb.tfunc
18884// func:amc...tfunc_Step_Init
18885// this function is 'extrn' and implemented by user
18886void tfunc_Step_Init();
18887// User-implemented function from gstatic:amc.FDb.tfunc
18888// func:amc...tfunc_Step_UpdateCycles
18889// this function is 'extrn' and implemented by user
18890void tfunc_Step_UpdateCycles();
18891// User-implemented function from gstatic:amc.FDb.tfunc
18892// func:amc...tfunc_Step_Step
18893// this function is 'extrn' and implemented by user
18894void tfunc_Step_Step();
18895// User-implemented function from gstatic:amc.FDb.tfunc
18896// func:amc...tfunc_Step_Call
18897// this function is 'extrn' and implemented by user
18898void tfunc_Step_Call();
18899// User-implemented function from gstatic:amc.FDb.tfunc
18900// func:amc...tfunc_Step_SetDelay
18901// this function is 'extrn' and implemented by user
18902void tfunc_Step_SetDelay();
18903// User-implemented function from gstatic:amc.FDb.tfunc
18904// func:amc...tfunc_Substr_Get
18905// this function is 'extrn' and implemented by user
18906void tfunc_Substr_Get();
18907// User-implemented function from gstatic:amc.FDb.tfunc
18908// func:amc...tfunc_Substr_Get2
18909// this function is 'extrn' and implemented by user
18910void tfunc_Substr_Get2();
18911// User-implemented function from gstatic:amc.FDb.tfunc
18912// func:amc...tfunc_Tary_Eq
18913// this function is 'extrn' and implemented by user
18914void tfunc_Tary_Eq();
18915// User-implemented function from gstatic:amc.FDb.tfunc
18916// func:amc...tfunc_Tary_Cmp
18917// this function is 'extrn' and implemented by user
18918void tfunc_Tary_Cmp();
18919// User-implemented function from gstatic:amc.FDb.tfunc
18920// func:amc...tfunc_Tary_Addary
18921// this function is 'extrn' and implemented by user
18922void tfunc_Tary_Addary();
18923// User-implemented function from gstatic:amc.FDb.tfunc
18924// func:amc...tfunc_Tary_Alloc
18925// this function is 'extrn' and implemented by user
18926void tfunc_Tary_Alloc();
18927// User-implemented function from gstatic:amc.FDb.tfunc
18928// func:amc...tfunc_Tary_AllocAt
18929// this function is 'extrn' and implemented by user
18930void tfunc_Tary_AllocAt();
18931// User-implemented function from gstatic:amc.FDb.tfunc
18932// func:amc...tfunc_Tary_AllocN
18933// this function is 'extrn' and implemented by user
18934void tfunc_Tary_AllocN();
18935// User-implemented function from gstatic:amc.FDb.tfunc
18936// func:amc...tfunc_Tary_EmptyQ
18937// this function is 'extrn' and implemented by user
18938void tfunc_Tary_EmptyQ();
18939// User-implemented function from gstatic:amc.FDb.tfunc
18940// func:amc...tfunc_Tary_Find
18941// this function is 'extrn' and implemented by user
18942void tfunc_Tary_Find();
18943// User-implemented function from gstatic:amc.FDb.tfunc
18944// func:amc...tfunc_Tary_Getary
18945// this function is 'extrn' and implemented by user
18946void tfunc_Tary_Getary();
18947// User-implemented function from gstatic:amc.FDb.tfunc
18948// func:amc...tfunc_Tary_Init
18949// this function is 'extrn' and implemented by user
18950void tfunc_Tary_Init();
18951// User-implemented function from gstatic:amc.FDb.tfunc
18952// func:amc...tfunc_Tary_Last
18953// this function is 'extrn' and implemented by user
18954void tfunc_Tary_Last();
18955// User-implemented function from gstatic:amc.FDb.tfunc
18956// func:amc...tfunc_Tary_Max
18957// this function is 'extrn' and implemented by user
18958void tfunc_Tary_Max();
18959// User-implemented function from gstatic:amc.FDb.tfunc
18960// func:amc...tfunc_Tary_N
18961// this function is 'extrn' and implemented by user
18962void tfunc_Tary_N();
18963// User-implemented function from gstatic:amc.FDb.tfunc
18964// func:amc...tfunc_Tary_Remove
18965// this function is 'extrn' and implemented by user
18966void tfunc_Tary_Remove();
18967// User-implemented function from gstatic:amc.FDb.tfunc
18968// func:amc...tfunc_Tary_RemoveAll
18969// this function is 'extrn' and implemented by user
18970void tfunc_Tary_RemoveAll();
18971// User-implemented function from gstatic:amc.FDb.tfunc
18972// func:amc...tfunc_Tary_RemoveLast
18973// this function is 'extrn' and implemented by user
18974void tfunc_Tary_RemoveLast();
18975// User-implemented function from gstatic:amc.FDb.tfunc
18976// func:amc...tfunc_Tary_Reserve
18977// this function is 'extrn' and implemented by user
18978void tfunc_Tary_Reserve();
18979// User-implemented function from gstatic:amc.FDb.tfunc
18980// func:amc...tfunc_Tary_AbsReserve
18981// this function is 'extrn' and implemented by user
18982void tfunc_Tary_AbsReserve();
18983// User-implemented function from gstatic:amc.FDb.tfunc
18984// func:amc...tfunc_Tary_RowidFind
18985// this function is 'extrn' and implemented by user
18986void tfunc_Tary_RowidFind();
18987// User-implemented function from gstatic:amc.FDb.tfunc
18988// func:amc...tfunc_Tary_Print
18989// this function is 'extrn' and implemented by user
18990void tfunc_Tary_Print();
18991// User-implemented function from gstatic:amc.FDb.tfunc
18992// func:amc...tfunc_Tary_Setary
18993// this function is 'extrn' and implemented by user
18994void tfunc_Tary_Setary();
18995// User-implemented function from gstatic:amc.FDb.tfunc
18996// func:amc...tfunc_Tary_Setary2
18997// this function is 'extrn' and implemented by user
18998void tfunc_Tary_Setary2();
18999// User-implemented function from gstatic:amc.FDb.tfunc
19000// func:amc...tfunc_Tary_Uninit
19001// this function is 'extrn' and implemented by user
19002void tfunc_Tary_Uninit();
19003// User-implemented function from gstatic:amc.FDb.tfunc
19004// func:amc...tfunc_Tary_qFind
19005// this function is 'extrn' and implemented by user
19006void tfunc_Tary_qFind();
19007// User-implemented function from gstatic:amc.FDb.tfunc
19008// func:amc...tfunc_Tary_qLast
19009// this function is 'extrn' and implemented by user
19010void tfunc_Tary_qLast();
19011// User-implemented function from gstatic:amc.FDb.tfunc
19012// func:amc...tfunc_Tary_rowid_Get
19013// this function is 'extrn' and implemented by user
19014void tfunc_Tary_rowid_Get();
19015// User-implemented function from gstatic:amc.FDb.tfunc
19016// func:amc...tfunc_Tary_curs
19017// this function is 'extrn' and implemented by user
19018void tfunc_Tary_curs();
19019// User-implemented function from gstatic:amc.FDb.tfunc
19020// func:amc...tfunc_Tary_AllocNVal
19021// this function is 'extrn' and implemented by user
19022void tfunc_Tary_AllocNVal();
19023// User-implemented function from gstatic:amc.FDb.tfunc
19024// func:amc...tfunc_Tary_ReadStrptrMaybe
19025// this function is 'extrn' and implemented by user
19026void tfunc_Tary_ReadStrptrMaybe();
19027// User-implemented function from gstatic:amc.FDb.tfunc
19028// func:amc...tfunc_Thash_Cascdel
19029// this function is 'extrn' and implemented by user
19030void tfunc_Thash_Cascdel();
19031// User-implemented function from gstatic:amc.FDb.tfunc
19032// func:amc...tfunc_Thash_EmptyQ
19033// this function is 'extrn' and implemented by user
19034void tfunc_Thash_EmptyQ();
19035// User-implemented function from gstatic:amc.FDb.tfunc
19036// func:amc...tfunc_Thash_Find
19037// this function is 'extrn' and implemented by user
19038void tfunc_Thash_Find();
19039// User-implemented function from gstatic:amc.FDb.tfunc
19040// func:amc...tfunc_Thash_FindX
19041// this function is 'extrn' and implemented by user
19042void tfunc_Thash_FindX();
19043// User-implemented function from gstatic:amc.FDb.tfunc
19044// func:amc...tfunc_Thash_GetOrCreate
19045// this function is 'extrn' and implemented by user
19046void tfunc_Thash_GetOrCreate();
19047// User-implemented function from gstatic:amc.FDb.tfunc
19048// func:amc...tfunc_Thash_Init
19049// this function is 'extrn' and implemented by user
19050void tfunc_Thash_Init();
19051// User-implemented function from gstatic:amc.FDb.tfunc
19052// func:amc...tfunc_Thash_N
19053// this function is 'extrn' and implemented by user
19054void tfunc_Thash_N();
19055// User-implemented function from gstatic:amc.FDb.tfunc
19056// func:amc...tfunc_Thash_InsertMaybe
19057// this function is 'extrn' and implemented by user
19058void tfunc_Thash_InsertMaybe();
19059// User-implemented function from gstatic:amc.FDb.tfunc
19060// func:amc...tfunc_Thash_Remove
19061// this function is 'extrn' and implemented by user
19062void tfunc_Thash_Remove();
19063// User-implemented function from gstatic:amc.FDb.tfunc
19064// func:amc...tfunc_Thash_Reserve
19065// this function is 'extrn' and implemented by user
19066void tfunc_Thash_Reserve();
19067// User-implemented function from gstatic:amc.FDb.tfunc
19068// func:amc...tfunc_Thash_FindRemove
19069// this function is 'extrn' and implemented by user
19070void tfunc_Thash_FindRemove();
19071// User-implemented function from gstatic:amc.FDb.tfunc
19072// func:amc...tfunc_Thash_Uninit
19073// this function is 'extrn' and implemented by user
19074void tfunc_Thash_Uninit();
19075// User-implemented function from gstatic:amc.FDb.tfunc
19076// func:amc...tfunc_Thash_curs
19077// this function is 'extrn' and implemented by user
19078void tfunc_Thash_curs();
19079// User-implemented function from gstatic:amc.FDb.tfunc
19080// func:amc...tfunc_Tpool_AllocMem
19081// this function is 'extrn' and implemented by user
19082void tfunc_Tpool_AllocMem();
19083// User-implemented function from gstatic:amc.FDb.tfunc
19084// func:amc...tfunc_Tpool_FreeMem
19085// this function is 'extrn' and implemented by user
19086void tfunc_Tpool_FreeMem();
19087// User-implemented function from gstatic:amc.FDb.tfunc
19088// func:amc...tfunc_Tpool_Init
19089// this function is 'extrn' and implemented by user
19090void tfunc_Tpool_Init();
19091// User-implemented function from gstatic:amc.FDb.tfunc
19092// func:amc...tfunc_Tpool_Reserve
19093// this function is 'extrn' and implemented by user
19094void tfunc_Tpool_Reserve();
19095// User-implemented function from gstatic:amc.FDb.tfunc
19096// func:amc...tfunc_Tpool_ReserveMem
19097// this function is 'extrn' and implemented by user
19098void tfunc_Tpool_ReserveMem();
19099// User-implemented function from gstatic:amc.FDb.tfunc
19100// func:amc...tfunc_Upptr_Init
19101// this function is 'extrn' and implemented by user
19102void tfunc_Upptr_Init();
19103// User-implemented function from gstatic:amc.FDb.tfunc
19104// func:amc...tfunc_Val_Get
19105// this function is 'extrn' and implemented by user
19106void tfunc_Val_Get();
19107// User-implemented function from gstatic:amc.FDb.tfunc
19108// func:amc...tfunc_Val_Set
19109// this function is 'extrn' and implemented by user
19110void tfunc_Val_Set();
19111// User-implemented function from gstatic:amc.FDb.tfunc
19112// func:amc...tfunc_Val_Init
19113// this function is 'extrn' and implemented by user
19114void tfunc_Val_Init();
19115// User-implemented function from gstatic:amc.FDb.tfunc
19116// func:amc...tfunc_Val_RowidFind
19117// this function is 'extrn' and implemented by user
19118void tfunc_Val_RowidFind();
19119// User-implemented function from gstatic:amc.FDb.tfunc
19120// func:amc...tfunc_Val_N
19121// this function is 'extrn' and implemented by user
19122void tfunc_Val_N();
19123// User-implemented function from gstatic:amc.FDb.tfunc
19124// func:amc...tfunc_Varlen_Getary
19125// this function is 'extrn' and implemented by user
19126void tfunc_Varlen_Getary();
19127// User-implemented function from gstatic:amc.FDb.tfunc
19128// func:amc...tfunc_Varlen_Addr
19129// this function is 'extrn' and implemented by user
19130void tfunc_Varlen_Addr();
19131// User-implemented function from gstatic:amc.FDb.tfunc
19132// func:amc...tfunc_Varlen_N
19133// this function is 'extrn' and implemented by user
19134void tfunc_Varlen_N();
19135// User-implemented function from gstatic:amc.FDb.tfunc
19136// func:amc...tfunc_Varlen_ReadStrptrMaybe
19137// this function is 'extrn' and implemented by user
19138void tfunc_Varlen_ReadStrptrMaybe();
19139// User-implemented function from gstatic:amc.FDb.tfunc
19140// func:amc...tfunc_Varlen_curs
19141// this function is 'extrn' and implemented by user
19142void tfunc_Varlen_curs();
19143// User-implemented function from gstatic:amc.FDb.tfunc
19144// func:amc...tfunc_Varlen_Print
19145// this function is 'extrn' and implemented by user
19146void tfunc_Varlen_Print();
19147// User-implemented function from gstatic:amc.FDb.tfunc
19148// func:amc...tfunc_ZSListMT_DestructiveFirst
19149// this function is 'extrn' and implemented by user
19150void tfunc_ZSListMT_DestructiveFirst();
19151// User-implemented function from gstatic:amc.FDb.tfunc
19152// func:amc...tfunc_ZSListMT_InLlistQ
19153// this function is 'extrn' and implemented by user
19154void tfunc_ZSListMT_InLlistQ();
19155// User-implemented function from gstatic:amc.FDb.tfunc
19156// func:amc...tfunc_ZSListMT_Init
19157// this function is 'extrn' and implemented by user
19158void tfunc_ZSListMT_Init();
19159// User-implemented function from gstatic:amc.FDb.tfunc
19160// func:amc...tfunc_ZSListMT_Insert
19161// this function is 'extrn' and implemented by user
19162void tfunc_ZSListMT_Insert();
19163// User-implemented function from gstatic:amc.FDb.tfunc
19164// func:amc...tfunc_ZSListMT_Remove
19165// this function is 'extrn' and implemented by user
19166void tfunc_ZSListMT_Remove();
19167// User-implemented function from gstatic:amc.FDb.tfunc
19168// func:amc...tfunc_ZSListMT_RemoveFirst
19169// this function is 'extrn' and implemented by user
19170void tfunc_ZSListMT_RemoveFirst();
19171// User-implemented function from gstatic:amc.FDb.gen
19172// func:amc...gen_prep_signature
19173// this function is 'extrn' and implemented by user
19174void gen_prep_signature();
19175// User-implemented function from gstatic:amc.FDb.gen
19176// func:amc...gen_select_ns
19177// this function is 'extrn' and implemented by user
19178void gen_select_ns();
19179// User-implemented function from gstatic:amc.FDb.gen
19180// func:amc...gen_dispenum
19181// this function is 'extrn' and implemented by user
19182void gen_dispenum();
19183// User-implemented function from gstatic:amc.FDb.gen
19184// func:amc...gen_countxref
19185// this function is 'extrn' and implemented by user
19186void gen_countxref();
19187// User-implemented function from gstatic:amc.FDb.gen
19188// func:amc...gen_detectinst
19189// this function is 'extrn' and implemented by user
19190void gen_detectinst();
19191// User-implemented function from gstatic:amc.FDb.gen
19192// func:amc...gen_trace
19193// this function is 'extrn' and implemented by user
19194void gen_trace();
19195// User-implemented function from gstatic:amc.FDb.gen
19196// func:amc...gen_sortssimfile
19197// this function is 'extrn' and implemented by user
19198void gen_sortssimfile();
19199// User-implemented function from gstatic:amc.FDb.gen
19200// func:amc...gen_lookuppkey
19201// this function is 'extrn' and implemented by user
19202void gen_lookuppkey();
19203// User-implemented function from gstatic:amc.FDb.gen
19204// func:amc...gen_rewrite_regx
19205// this function is 'extrn' and implemented by user
19206void gen_rewrite_regx();
19207// User-implemented function from gstatic:amc.FDb.gen
19208// func:amc...gen_tableenum
19209// this function is 'extrn' and implemented by user
19210void gen_tableenum();
19211// User-implemented function from gstatic:amc.FDb.gen
19212// func:amc...gen_gconst
19213// this function is 'extrn' and implemented by user
19214void gen_gconst();
19215// User-implemented function from gstatic:amc.FDb.gen
19216// func:amc...gen_fast_presence
19217// this function is 'extrn' and implemented by user
19218void gen_fast_presence();
19219// User-implemented function from gstatic:amc.FDb.gen
19220// func:amc...gen_bitfldenum
19221// this function is 'extrn' and implemented by user
19222void gen_bitfldenum();
19223// User-implemented function from gstatic:amc.FDb.gen
19224// func:amc...gen_proc
19225// this function is 'extrn' and implemented by user
19226void gen_proc();
19227// User-implemented function from gstatic:amc.FDb.gen
19228// func:amc...gen_msgcurs
19229// this function is 'extrn' and implemented by user
19230void gen_msgcurs();
19231// User-implemented function from gstatic:amc.FDb.gen
19232// func:amc...gen_check_basefield
19233// this function is 'extrn' and implemented by user
19234void gen_check_basefield();
19235// User-implemented function from gstatic:amc.FDb.gen
19236// func:amc...gen_check_ssimsort
19237// this function is 'extrn' and implemented by user
19238void gen_check_ssimsort();
19239// User-implemented function from gstatic:amc.FDb.gen
19240// func:amc...gen_clonefconst
19241// this function is 'extrn' and implemented by user
19242void gen_clonefconst();
19243// User-implemented function from gstatic:amc.FDb.gen
19244// func:amc...gen_parsenum
19245// this function is 'extrn' and implemented by user
19246void gen_parsenum();
19247// User-implemented function from gstatic:amc.FDb.gen
19248// func:amc...gen_newfield_charset
19249// this function is 'extrn' and implemented by user
19250void gen_newfield_charset();
19251// User-implemented function from gstatic:amc.FDb.gen
19252// func:amc...gen_newfield_count
19253// this function is 'extrn' and implemented by user
19254void gen_newfield_count();
19255// User-implemented function from gstatic:amc.FDb.gen
19256// func:amc...gen_newfield_hook
19257// this function is 'extrn' and implemented by user
19258void gen_newfield_hook();
19259// User-implemented function from gstatic:amc.FDb.gen
19260// func:amc...gen_newfield_exec
19261// this function is 'extrn' and implemented by user
19262void gen_newfield_exec();
19263// User-implemented function from gstatic:amc.FDb.gen
19264// func:amc...gen_newfield_sortfld
19265// this function is 'extrn' and implemented by user
19266void gen_newfield_sortfld();
19267// User-implemented function from gstatic:amc.FDb.gen
19268// func:amc...gen_newfield_cbase
19269// this function is 'extrn' and implemented by user
19270void gen_newfield_cbase();
19271// User-implemented function from gstatic:amc.FDb.gen
19272// func:amc...gen_newfield_ptrary
19273// this function is 'extrn' and implemented by user
19274void gen_newfield_ptrary();
19275// User-implemented function from gstatic:amc.FDb.gen
19276// func:amc...gen_newfield_cfmt
19277// this function is 'extrn' and implemented by user
19278void gen_newfield_cfmt();
19279// User-implemented function from gstatic:amc.FDb.gen
19280// func:amc...gen_newfield_dispatch
19281// this function is 'extrn' and implemented by user
19282void gen_newfield_dispatch();
19283// User-implemented function from gstatic:amc.FDb.gen
19284// func:amc...gen_fieldid
19285// this function is 'extrn' and implemented by user
19286void gen_fieldid();
19287// User-implemented function from gstatic:amc.FDb.gen
19288// func:amc...gen_prep_field
19289// this function is 'extrn' and implemented by user
19290void gen_prep_field();
19291// User-implemented function from gstatic:amc.FDb.gen
19292// func:amc...gen_basepool
19293// this function is 'extrn' and implemented by user
19294void gen_basepool();
19295// User-implemented function from gstatic:amc.FDb.gen
19296// func:amc...gen_check_basepool
19297// this function is 'extrn' and implemented by user
19298void gen_check_basepool();
19299// User-implemented function from gstatic:amc.FDb.gen
19300// func:amc...gen_check_bigend
19301// this function is 'extrn' and implemented by user
19302void gen_check_bigend();
19303// User-implemented function from gstatic:amc.FDb.gen
19304// func:amc...gen_check_reftype
19305// this function is 'extrn' and implemented by user
19306void gen_check_reftype();
19307// User-implemented function from gstatic:amc.FDb.gen
19308// func:amc...gen_check_static
19309// this function is 'extrn' and implemented by user
19310void gen_check_static();
19311// User-implemented function from gstatic:amc.FDb.gen
19312// func:amc...gen_check_cheapcopy
19313// this function is 'extrn' and implemented by user
19314void gen_check_cheapcopy();
19315// User-implemented function from gstatic:amc.FDb.gen
19316// func:amc...gen_check_cascdel
19317// this function is 'extrn' and implemented by user
19318void gen_check_cascdel();
19319// User-implemented function from gstatic:amc.FDb.gen
19320// func:amc...gen_check_cpptype
19321// this function is 'extrn' and implemented by user
19322void gen_check_cpptype();
19323// User-implemented function from gstatic:amc.FDb.gen
19324// func:amc...gen_check_fcurs
19325// this function is 'extrn' and implemented by user
19326void gen_check_fcurs();
19327// User-implemented function from gstatic:amc.FDb.gen
19328// func:amc...gen_check_prefix
19329// this function is 'extrn' and implemented by user
19330void gen_check_prefix();
19331// User-implemented function from gstatic:amc.FDb.gen
19332// func:amc...gen_check_bitfld
19333// this function is 'extrn' and implemented by user
19334void gen_check_bitfld();
19335// User-implemented function from gstatic:amc.FDb.gen
19336// func:amc...gen_check_varlen
19337// this function is 'extrn' and implemented by user
19338void gen_check_varlen();
19339// User-implemented function from gstatic:amc.FDb.gen
19340// func:amc...gen_xref_parent
19341// this function is 'extrn' and implemented by user
19342void gen_xref_parent();
19343// User-implemented function from gstatic:amc.FDb.gen
19344// func:amc...gen_datafld
19345// this function is 'extrn' and implemented by user
19346void gen_datafld();
19347// User-implemented function from gstatic:amc.FDb.gen
19348// func:amc...gen_ctype_toposort
19349// this function is 'extrn' and implemented by user
19350void gen_ctype_toposort();
19351// User-implemented function from gstatic:amc.FDb.gen
19352// func:amc...gen_plaindata
19353// this function is 'extrn' and implemented by user
19354void gen_plaindata();
19355// User-implemented function from gstatic:amc.FDb.gen
19356// func:amc...gen_prep_ctype
19357// this function is 'extrn' and implemented by user
19358void gen_prep_ctype();
19359// User-implemented function from gstatic:amc.FDb.gen
19360// func:amc...gen_prep_fconst
19361// this function is 'extrn' and implemented by user
19362void gen_prep_fconst();
19363// User-implemented function from gstatic:amc.FDb.gen
19364// func:amc...gen_usedns
19365// this function is 'extrn' and implemented by user
19366void gen_usedns();
19367// User-implemented function from gstatic:amc.FDb.gen
19368// func:amc...gen_include
19369// this function is 'extrn' and implemented by user
19370void gen_include();
19371// User-implemented function from gstatic:amc.FDb.gen
19372// func:amc...gen_load_gstatic
19373// this function is 'extrn' and implemented by user
19374void gen_load_gstatic();
19375// User-implemented function from gstatic:amc.FDb.gen
19376// func:amc...gen_pmask
19377// this function is 'extrn' and implemented by user
19378void gen_pmask();
19379// User-implemented function from gstatic:amc.FDb.gen
19380// func:amc...gen_ssimdb
19381// this function is 'extrn' and implemented by user
19382void gen_ssimdb();
19383// User-implemented function from gstatic:amc.FDb.gen
19384// func:amc...gen_xref2
19385// this function is 'extrn' and implemented by user
19386void gen_xref2();
19387// User-implemented function from gstatic:amc.FDb.gen
19388// func:amc...gen_check_xref
19389// this function is 'extrn' and implemented by user
19390void gen_check_xref();
19391// User-implemented function from gstatic:amc.FDb.gen
19392// func:amc...gen_ns_enums
19393// this function is 'extrn' and implemented by user
19394void gen_ns_enums();
19395// User-implemented function from gstatic:amc.FDb.gen
19396// func:amc...gen_ns_pkeytypedef
19397// this function is 'extrn' and implemented by user
19398void gen_ns_pkeytypedef();
19399// User-implemented function from gstatic:amc.FDb.gen
19400// func:amc...gen_ns_tclass_field
19401// this function is 'extrn' and implemented by user
19402void gen_ns_tclass_field();
19403// User-implemented function from gstatic:amc.FDb.gen
19404// func:amc...gen_ns_fwddecl
19405// this function is 'extrn' and implemented by user
19406void gen_ns_fwddecl();
19407// User-implemented function from gstatic:amc.FDb.gen
19408// func:amc...gen_ns_fwddecl2
19409// this function is 'extrn' and implemented by user
19410void gen_ns_fwddecl2();
19411// User-implemented function from gstatic:amc.FDb.gen
19412// func:amc...gen_ns_gstatic
19413// this function is 'extrn' and implemented by user
19414void gen_ns_gstatic();
19415// User-implemented function from gstatic:amc.FDb.gen
19416// func:amc...gen_compute_size
19417// this function is 'extrn' and implemented by user
19418void gen_compute_size();
19419// User-implemented function from gstatic:amc.FDb.gen
19420// func:amc...gen_cget
19421// this function is 'extrn' and implemented by user
19422void gen_cget();
19423// User-implemented function from gstatic:amc.FDb.gen
19424// func:amc...gen_fcmap
19425// this function is 'extrn' and implemented by user
19426void gen_fcmap();
19427// User-implemented function from gstatic:amc.FDb.gen
19428// func:amc...gen_ns_include
19429// this function is 'extrn' and implemented by user
19430void gen_ns_include();
19431// User-implemented function from gstatic:amc.FDb.gen
19432// func:amc...gen_ns_gsymbol
19433// this function is 'extrn' and implemented by user
19434void gen_ns_gsymbol();
19435// User-implemented function from gstatic:amc.FDb.gen
19436// func:amc...gen_ns_size_enums
19437// this function is 'extrn' and implemented by user
19438void gen_ns_size_enums();
19439// User-implemented function from gstatic:amc.FDb.gen
19440// func:amc...gen_ns_tclass_ns
19441// this function is 'extrn' and implemented by user
19442void gen_ns_tclass_ns();
19443// User-implemented function from gstatic:amc.FDb.gen
19444// func:amc...gen_ns_tclass_ctype
19445// this function is 'extrn' and implemented by user
19446void gen_ns_tclass_ctype();
19447// User-implemented function from gstatic:amc.FDb.gen
19448// func:amc...gen_ns_check_path
19449// this function is 'extrn' and implemented by user
19450void gen_ns_check_path();
19451// User-implemented function from gstatic:amc.FDb.gen
19452// func:amc...gen_ns_check_pack
19453// this function is 'extrn' and implemented by user
19454void gen_ns_check_pack();
19455// User-implemented function from gstatic:amc.FDb.gen
19456// func:amc...gen_ns_check_nstype
19457// this function is 'extrn' and implemented by user
19458void gen_ns_check_nstype();
19459// User-implemented function from gstatic:amc.FDb.gen
19460// func:amc...gen_ns_check_main
19461// this function is 'extrn' and implemented by user
19462void gen_ns_check_main();
19463// User-implemented function from gstatic:amc.FDb.gen
19464// func:amc...gen_ns_fast
19465// this function is 'extrn' and implemented by user
19466void gen_ns_fast();
19467// User-implemented function from gstatic:amc.FDb.gen
19468// func:amc...gen_ns_dispatch
19469// this function is 'extrn' and implemented by user
19470void gen_ns_dispatch();
19471// User-implemented function from gstatic:amc.FDb.gen
19472// func:amc...gen_ns_pnew
19473// this function is 'extrn' and implemented by user
19474void gen_ns_pnew();
19475// User-implemented function from gstatic:amc.FDb.gen
19476// func:amc...gen_ns_funcindex
19477// this function is 'extrn' and implemented by user
19478void gen_ns_funcindex();
19479// User-implemented function from gstatic:amc.FDb.gen
19480// func:amc...gen_ns_print_proto
19481// this function is 'extrn' and implemented by user
19482void gen_ns_print_proto();
19483// User-implemented function from gstatic:amc.FDb.gen
19484// func:amc...gen_ns_print_struct
19485// this function is 'extrn' and implemented by user
19486void gen_ns_print_struct();
19487// User-implemented function from gstatic:amc.FDb.gen
19488// func:amc...gen_ns_curstext
19489// this function is 'extrn' and implemented by user
19490void gen_ns_curstext();
19491// User-implemented function from gstatic:amc.FDb.gen
19492// func:amc...gen_ns_func
19493// this function is 'extrn' and implemented by user
19494void gen_ns_func();
19495// User-implemented function from gstatic:amc.FDb.gen
19496// func:amc...gen_ns_operators
19497// this function is 'extrn' and implemented by user
19498void gen_ns_operators();
19499// User-implemented function from gstatic:amc.FDb.gen
19500// func:amc...gen_ns_check_lim
19501// this function is 'extrn' and implemented by user
19502void gen_ns_check_lim();
19503// User-implemented function from gstatic:amc.FDb.gen
19504// func:amc...gen_ns_write
19505// this function is 'extrn' and implemented by user
19506void gen_ns_write();
19507// func:amc...StaticCheck
19508void StaticCheck();
19509} // gen:ns_func
19510// func:amc...main
19511int main(int argc, char **argv);
19512#if defined(WIN32)
19513// func:amc...WinMain
19514int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int);
19515#endif
19516// gen:ns_operators
19517namespace algo {
19518inline algo::cstring &operator <<(algo::cstring &str, const amc::BltinId &row);// cfmt:amc.BltinId.String
19519inline algo::cstring &operator <<(algo::cstring &str, const amc::Enumstr &row);// cfmt:amc.Enumstr.String
19520inline algo::cstring &operator <<(algo::cstring &str, const amc::trace &row);// cfmt:amc.trace.String
19521inline algo::cstring &operator <<(algo::cstring &str, const amc::FieldId &row);// cfmt:amc.FieldId.String
19522inline algo::cstring &operator <<(algo::cstring &str, const amc::Pnewtype &row);// cfmt:amc.Pnewtype.String
19523inline algo::cstring &operator <<(algo::cstring &str, const amc::TableId &row);// cfmt:amc.TableId.String
19524}